Объединение верхних записей в T-SQL

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. Иногда бывает несколько мест для бусида, и я хочу присоединиться только к первому из найденных. Я получаю сообщение об ошибке в части «Location.BusID = MD.BusID», поскольку MD.BusID не может быть привязан. Можно ли использовать таблицу MD во вложенном статусе выбора в этом соединении или есть другой способ сделать это?

Я планирую помещать данные с помощью вложенных запросов в список столбцов, чтобы быстро получить там контактные данные.

5
задан JBone 10 August 2011 в 16:40
поделиться