s

mysql 도움좀 주세요

mysql 도움좀 주세요 ㅠ.ㅠ

두개의 테이블이 있습니다. 

Userlist , User_class 

두개의 테이블의 공통 필드 UID(회원아이디) 

Userlist의 전체필드를 출력하면서

User_class 의 UID 가 매칭되는 chName 이 있어면 

Userlist의 전체필드를 출력하면서 Y 없으면 N 를 하려고 합니다.

이런 조건인데 .... 
제 짧은 지식으로는 어찌 해볼 도리가 없네요 .... ㅠㅠ 
Mysql 구문을 어찌 써야 할까요?
|

댓글 8개

팁자료실에 질문을 올리기가 머해서요 그누질문도 아니고 어디 올릴데가 마땅치 않아 자게로 왔습니다.
설명을 구체화 할 필요가 있습니다.

우선 테이블의 공통필드 UID 가 있다고 하셨으니..

두개를 묶을 수 있습니다.

SELECT *
FROM Userlist A
LEFT JOIN User_class B ON A.UID = B.UID

여기까지 나오는군요..

이 다음 WHERE 절에서 조건이 들어간다고 하셨으니 이 다음부터는 IF 문을 조건절에 넣으시면 원하는값이 나옵니다.

이상입니다.

(아 IF 절은 MYSQL IF 절입니다)
덧붙이자면 'Userlist의 전체필드를 출력하면서 Y 없으면 N 를 하려고 합니다.' 이말이 전 이해가 잘 안되네요
Userlist의 전체필드를 출력하면서 [User_class 의 UID 가 매칭되는 chName 이 있어면 ] Y 없으면 N 를 하려고 합니다.' 이말입니다. 글재주가 없네요 제가
join 말고 그냥 직관적으로 하면 되죠.

SELECT * , IF( IFNULL( (
SELECT `chname`
FROM `User_class` `b`
WHERE `b`.`UID` = `a`.`UID`
LIMIT 0 , 1
), '' ) <> '', 'Y', 'N' ) `is_chName_regist`
FROM `Userlist` `a`
SELECT
*,
CASE WHEN B.UID IS NOT NULL THEN 'Y' ELSE 'N' END use_yn
FROM Userlist A
LEFT JOIN User_class B
ON A.UID = B.UID

이정두 쿼리문이면 되겠네요 ㅎㅎ
LEFT JOIN 일 경우 포함되지 않을 경우 NULL 값입니다.
그것을 이용해서 NULL이 있다면 N 있다면 Y가 되겠죠
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
16-03-02 조회 3,259
16-01-19 조회 2,548
15-12-23 조회 2,972
15-12-08 조회 3,695
14-10-30 조회 5,747
14-06-06 조회 5,569
12-08-30 조회 3,930
12-08-20 조회 3,848
12-07-15 조회 5,177
12-07-13 조회 3,642
12-07-06 조회 3,873
12-06-27 조회 3,383
12-06-23 조회 3,597
12-05-03 조회 5,202
12-04-20 조회 4,137
12-03-29 조회 4,653
12-03-22 조회 4,762
12-03-22 조회 3,532
12-03-21 조회 3,305
12-03-11 조회 3,726
12-03-06 조회 4,276
12-02-22 조회 4,548
12-02-17 조회 3,350
12-02-17 조회 6,203
12-02-14 조회 6,150
12-02-06 조회 4,277
12-01-18 조회 3,232
12-01-06 조회 3,454
11-12-30 조회 3,931
11-12-30 조회 7,076
11-12-21 조회 3,298
11-12-21 조회 4,265
11-12-16 조회 3,295
11-12-15 조회 3,328
11-12-15 조회 3,441
11-12-15 조회 4,243
11-12-09 조회 3,246
11-12-09 조회 3,318
11-12-07 조회 2,883
11-12-07 조회 3,972
11-12-05 조회 4,423
11-12-02 조회 3,881
11-12-01 조회 2,752
11-12-01 조회 2,802
11-12-01 조회 2,783