我想將幾個表連接在一起,其中一個表是同一個表上的同一個連接,具有不同的條件。我在查詢中獲得輸出,但不在統一的一行上。例如:SQL加入問題
select distinct rfp.id, title, bidtype, rfp.createdon as '#1', s.finishedDt as '#2', c.id as 'Contract #', supp.rfp_contr_supplier_name, es.suppdate as '#3', es2.suppdate as '#4'
from TBL_RFP_Ideas_NEW rfp
left join tbl_rfp_senior s on rfp.id = s.ideaid
left join rfp_contract c on rfp.id = c.ideaid
inner join supplier_view supp on contractnbr = c.id
left join TBL_EmpMaster_Full emp on rfp.sponsor_empid = emp.empid
left join rfp_events e on rfp.id = e.ideaid
left join rfp_events_suppliers es on e.id = es.event_id and e.heading = '4' and e.description = 'Master Agreement effective date'
left join rfp_events_suppliers es2 on e.id = es2.event_id and e.heading = '5' and e.description = 'Master Agreement Rollout date'
where rfp.id = '683311'
group by rfp.id, title, bidtype, rfp.createdon, s.finishedDt, c.id, supp.rfp_contr_supplier_name, es.suppdate, es2.suppdate, e.description
我能詳細一些桌子上的架構如果需要的話,但是聯接幾乎解釋瞭如何通過內置。我希望我失去了一些瘋狂的小事。任何幫助表示讚賞!
您是否知道'distinct'在整行而不是在'rfp.id'上運行? –
提及您的原始數據以及您的結果如何? –
如果您打算使用「group by」,那麼您應該在select語句中使用某些聚合函數(如Min或Max)。然後從「group by」中刪除聚合函數中使用的字段。然後刪除「DISTINCT」,因爲你的「group by」刪除重複項,而「distinct」是多餘的。 –