[英]Select value from different tables based on the column value in SQL Server
您的數據並未真正標准化。 擁有三個單獨的表並且都服務於相同的查找使您有些頭疼...因此,我將這三個表聯合在一起並創建了一個“ src”列,以便您可以將表A的類型和ID聯接回表B的ID和src。 最好有一張桌子和非重復ID和類型ID來指定它是建築物教室還是辦公室。
Select *
from A
LEFT JOIN (SELECT 'Building' as src, ID, Name FROM Buildings UNION ALL
SELECT 'Classroom' as src, ID, Name FROM Classrooms UNION ALL
SELECT 'Office' as src, ID, Name FROM Offices) B
on A.Location_Type = B.Src
and A.LocationID = B.ID
如果不是A中的所有記錄在B中都有關聯的記錄,我在這里使用了左聯接。但是,內部聯接也應該起作用。
應該可以與聯接一起使用。
遵循這些原則應該可以:
SELECT tabelA.ID, tabelA.Subject, tabelA.Date, tabelA.locationType, tabelB.location
FROM tabelA INNER JOIN tabelB on tabelA.locationID = tabelB.locationID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.