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

SQL문 UNION 관련해서 질문 드립니다. 채택완료

kimckimc 8년 전 조회 2,207

A테이블

 date

 code

 name

 price

 2017-06-05

 AAA

 공책

 100

 2017-01-10

 AAA

 연필

 200

 2017-02-30

 AAA

 필통

 300

B테이블

 date

 code

add_name

 add_price

 2017-06-30

 AAA

연필심

 10

 2017-05-07

 AAA

 샤프심

 11

 2017-04-22

 CCC

 봉지

 23

 2016-12-21

 BBB

 샤프심

 11

SQL문 이용해서 원하는 데이터

 date

code

 name

 price

 code

 add_name

 add_price

 2017-06-30

 AAA

 

 

 AAA

 연필심

 10

 2017-06-05

 AAA

 공책

 100

 AAA

 

 

2017-05-07 

 AAA

 

 

 AAA

 샤프심

 

 2017-02-30

 AAA

 필통

 300

 AAA

 

 

 2017-01-10

 AAA

 연필

 200

 AAA

 

 

 

 

 

 

 

 

 

A 테이블 하고 B 테이블이 있는데 WHERE절이 code가 AAA이어야 하고

date 필드가 DESC가 되서

A, B 테이블이 UNION해서 3번째 표대로 출력을 하고 싶습니다.

</p><p>SELECT data, code, name, price FROM A WHERE code=AAA
</p><p>UNION ALL</p><p>SELECT <span style="font-size: 14.6667px;">data, code, add_name, add_price</span> FROM B <span style="font-size: 14.6667px;">WHERE code=AAA</span></p><p>

이렇게 일단 해보았는데 BBB 테이블의 컬럼명이 AAA테이블 컬럼명으로 대체되고..

3번째 테이블처럼 출력을 할려면 어떻게 해야되나요?

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

답변 2개

채택된 답변
+20 포인트
8년 전

select * from (

select date, code, name, price, '' add_name, '' add_price from a where code='AAA'

union all

select date, code, '' name, '' price, add_name, add_price from b where code='AAA' 

) a order by date desc

로그인 후 평가할 수 있습니다

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

Dessi
8년 전

add_name이 name으로 대체 되고 그런식인가요? 

SELECT data, code, add_name AS name, add_price AS price FROM B WHERE code=AAA

제 답변이 맞아면 위에 코드대로 하시면 될거에요.
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

k
kimckimc
8년 전
아닙니다 ㅠ,ㅠ 그리고 A 테이블은 왜 안불으죠?

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

답변을 작성하려면 로그인이 필요합니다.

로그인