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"부분에서 오류가 발생합니다. 이 조인에서 중첩 된 select statment에서 MD 테이블을 사용할 수 있습니까? 아니면이를 수행하는 다른 방법이 있습니까?T-SQL의 최상위 레코드에 합류
연락처 목록에 중첩 된 쿼리를 사용하여 데이터를 삽입하여 연락처 데이터를 driectly 취합니다. 그것은 간단하게 될 것
문제가 있습니다. MAX는 처음과 동일하지 않습니다. – Paparazzi
그는 단지 하나의 'BusID'를 원하고 정렬 순서를 지정하지 않았습니다. 그가 선택한 경우 정렬 기준을 추가하는 것은 간단합니다. – JNK
@JNK 문제는 subselect 후 L.Deleted = 0이므로이 경우에는 최대 삭제를 요청하는 것입니다. –