我有3個表格。3個表格之間的左外連接
- 座位表
- 本地員工
- 外籍員工。
Seat和Local之間有一個共同的列,person_id告訴哪個人坐在哪個座位上。
以座位和外表之間的相同方式,也是person_id。
我能夠獲得席位和當地...以及座位和外部之間的所需數據,使用左外部聯接可以爲佔用席位空置和人員空位獲取空位。
我的問題是,我可以得到一個單一的查詢映射座位表與兩個表,並得到一個綜合報告?
查詢現在使用的是:
select seat.apeh05_person_id_k
,seat.apeh18_seat_r seatNo
, seat.apeh17_floor_k seatFloor
,vendor.apeh15_cds_d cdsid
, vendor.apeh15_first_n firstname
, vendor.apeh15_last_n lastname
,vendor.apeh15_supervisor_cds_d ll6cdsid
,vendor.apeh15_ll5_cds_d ll5cdsid
, vendor.apeh15_ll4_cds_d ll4cdsid
from iapeh18_seat seat ,
IAPEH15_VENDOR_EMPLOYEE vendor
where seat.apeh05_person_id_k = vendor.apeh15_vendor_employee_k (+)
order by seat.apeh05_person_id_k asc
其他查詢是:
select seat.apeh05_person_id_k
,seat.apeh18_seat_r seatNo
, seat.apeh17_floor_k seatFloor
,local.apeh09_cds_d cdsid
,local.apeh09_first_n firstname
, local.apeh09_last_n lastname
,local.apeh09_supervisor_cds_d ll6cdsid
,local.apeh09_ll5_cds_d ll5cdsid
, local.apeh09_ll4_cds_d ll4cdsid
from iapeh18_seat seat
, IAPEH09_LOCAL_EMPLOYEE local
where seat.apeh05_person_id_k = local.apeh05_candidate_k (+)
order by seat.apeh05_person_id_k asc
感謝knagaev..am接受你的答案,因爲它從座位表中刪除了3張桌子之間產生的副本。謝謝Remko也帶我們去了正確的道路.. – ashwinsakthi
當然,在我的示例中,您需要「員工」謂詞而不是「供應商」 - 我粗心的錯誤複製粘貼:) – knagaev
@knagaev修復了「僱員」前綴。 –