테스트 사이트 - 개발 중인 베타 버전입니다

mysql 도움좀 주세요

mysql 도움좀 주세요 ㅠ.ㅠ

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

Userlist , User_class 

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

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

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

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

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

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 8개

http://sir.co.kr/bbs/board.php?bo_table=pg_tip&sca=MySQL ㅠㅠ
팁자료실에 질문을 올리기가 머해서요 그누질문도 아니고 어디 올릴데가 마땅치 않아 자게로 왔습니다.
http://sir.co.kr/bbs/board.php?bo_table=talk&sca=%EA%B0%9C%EB%B0%9C%EC%9E%90
ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ ㅈㅅ
설명을 구체화 할 필요가 있습니다.

우선 테이블의 공통필드 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가 되겠죠

게시판 목록

프로그램

글쓰기