2026, 새로운 도약을 시작합니다.

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

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번째 표대로 출력을 하고 싶습니다.



Copy
SELECT data, code, name, price FROM A WHERE code=AAA
UNION ALLSELECT data, code, add_name, add_price FROM B WHERE code=AAA


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


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


답변 2개

채택된 답변
+20 포인트

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

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

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

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


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


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

답변에 대한 댓글 1개

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

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

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

로그인
🐛 버그신고