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のために複数回の場所があり、最初に見つかったものだけに参加したい。 MD.BusIDをバインドできないため、「Location.BusID = MD.BusID」の部分にエラーが表示されます。この結合のネストされた選択文でMDテーブルを使用することは可能ですか、これを達成する別の方法がありますか?T-SQLのトップレコードに参加する
私は列リストにネストされたクエリーを使用してデータを入れて、そこで接触データを取得します。それは単純になり
問題MAXとは最初と同じではありません – Paparazzi
彼は1つだけ「BusID」を望んでおり、並べ替え順序を指定していません。彼が選んだ場合、ソート基準を追加するのは簡単です。 – JNK
@JNKの問題は、サブセレクションの後にL.Deleted = 0のためこのケースでは機能しません。 –