【发布时间】:2011-10-24 06:39:48
【问题描述】:
SELECT MD.*, Contact.FirstName
FROM MerchantData MD
JOIN Merchant M ON M.MerchID = MD.MerchID
JOIN (SELECT TOP 1 * FROM Location WHERE Location.BusID = MD.BusID) L ON L.BusID=MD.BusID
AND L.Deleted = 0
JOIN Contact ON Contact.ContactID = L.PrincipalID
我正在使用 SQLSERVER 2008 并尝试编写此 SQL 语句。有时,busid 有多个位置,我只想加入第一个找到的位置。我在“Location.BusID = MD.BusID”部分出现错误,因为 MD.BusID 无法绑定。是否可以在此连接的嵌套选择语句中使用 MD 表,或者是否有其他方法可以完成此操作?
我打算将使用嵌套查询的数据放在列列表中,以便在那里直接获取联系人数据。
【问题讨论】: