여기 내 샘플 문제에 대해 설명합니다.유니온 쿼리 최적화 모두
테이블 이름 ledg,bill,vocu
열
Ledg
id
name
bill
id
amt
vouc
id
amt
여기에 내가 AMT는 빌과 vouc에서 제로보다 큰 이름을 선택합니다. 그러나 청구서와 vouc에는 동일한 ID가 없습니다. 그리고 저는 Amt가 0보다 큰 것을 보여주고 싶습니다.
그래서 내가 올바르게
select *
from ledg g inner join vouc v on v.id=g.id
union all
select *
from ledg g inner join bill b on b.id=g.id
그 작업을 같이 했어요. 단일 쿼리 또는 유효한 쿼리에서 동일한 결과를 얻을 수 있습니까?
SAMPLE
insert into ledg(id,name) values(1,'aa'),
(2,'bb'),
(3,'cc');
insert into bill(id,amt) values(1,10),(2,-10);
insert into vouc(id,amt) values(3,30);
OUTPUT
NAME Amt
aa 10
cc 30
샘플 데이터와 원하는 결과를 제공 할 수 있습니까? 귀하의 질문은 0보다 큰 금액에 대한 것으로 보이지만 귀하가 말하는 쿼리에는 그러한 비교가 없습니다. –