database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30216 게시물 읽기
No. 30216
쿼리문 질문입니다.
작성자
이정희
작성일
2012-02-28 20:50
조회수
7,519

Table A
key code name
1    1    35
2    1    45
3    1    55
4    1    65
5    1    35
6    2    10
7    2    13
8    2    10
9    2    13
10   2    15

Table B
keys  a_code   keys
1       1       5
2       1       8

위와 같이 두개의 테이블이 있는 상태에서 A테이블의 code가 1인것을 쿼리하는데 만약 name이 중복된것은 B테이블의 keys 참고하여 A테이블의 key와 일치하는것으로 쿼리하여 표시하려면 어떻게 해야할까요?
(B테이블의 a_code = A테이블의 code , B테이블의 keys = A테이블의 key)

결과가 아래처럼 되어야 합니다.
key code name
5    1    35
2    1    45
3    1    55
4    1    65

이 글에 대한 댓글이 총 1건 있습니다.

 create table tableA(

kk int
, cc int
, nn int
);
 
create table tableB(
kk INT
, cc INT
, kb INT
);
 
insert into tableA( kk, cc, nn )
values( 1,1, 35 )
, ( 2  ,  1 ,   45)
,(3  ,  1 ,   55)
,(4  ,  1 ,   65)
,(5  ,  1 ,   35)
,(6  ,  2 ,   10)
,(7  ,  2 ,   13)
,(8  ,  2 ,   10)
,(9  ,  2 ,   13)
,(10 ,  2 ,   15);
 
insert into tableB( kk, cc, kb )
values(1   ,    1    ,   5)
, (2   ,    1    ,   8);
 
select tableA.*
from tableA left join  
(
select nn
from tableA 
where cc = 1 
group by nn
having count(*) > 1
) as dup on tableA.nn = dup.nn 
left join tableB ON tableA.kk = tableB.kb
where tableA.cc = 1
and (
( dup.nn is not null and tableB.kk is not null )
or dup.nn is null
우욱님이 2012-02-29 10:15에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
30220서브쿼리 문의드립니다. [2]
다중이
2012-03-05
7759
302193년 전 강의에서 MySQL버전이 6.x 인데.... 현재 버전은 5.5.. [2]
질문
2012-03-05
9094
30217mysql 원격접속에 문제가 있네요ㅠ [1]
안혜진
2012-03-01
8532
30216쿼리문 질문입니다. [1]
이정희
2012-02-28
7519
30215테이블 조인시 all로 묶이는 문제 [1]
최진규
2012-02-23
7910
30214index관련 질문입니다. [4]
지종현
2012-02-22
9264
30213무식한질문-중복값지우기 [1]
김길동
2012-02-21
8210
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다