我創建了一個數據庫在ms sql中,在數據庫中我有三類人員,即我存儲在不同表中的員工,客戶,供應商爲每個人創建序列唯一標識。從表中選擇與人的類別
現在這些人的ID存儲在爲person_id和存儲無論是在交易表的工作人員,custimer或供應商的列名的人型,問題在於從交易表中選擇這樣的僞代碼記錄
Select t.*,s.na as staff,sp.name as supplier, c.name as customer
From Trans t
left join Staff s on s.id = t.pid
left join Suppliers sp on sp.id = t.pid
left join Customers c on c.id = t.pid
這將返回一個排,而不是至少3個或更多,我該如何解決這個問題
我跨表
person_id Person_type Trans_id
1 staff 1
1 customer 2
2 customer 3
3 suppler 4
1 staff 5
預計輸出
person_name Trans_id
james 1
mark 2
dan 3
jude 4
james 5
員工,客戶和供應商都存儲在各自不同的表
您能否提供樣品數據和預期結果? – sgeddes 2014-12-01 18:25:52
@sgeddes我添加了更多信息 – Smith 2014-12-01 21:00:35
在事務表上執行左連接返回該表的所有行。你提供的僞查詢應該做你想要的。如果沒有,那麼在你給我們的描述中就會失蹤。 – 2014-12-01 21:14:02