중첩 된 선택에서 열을 기준으로 SQL Server를 주문하려고합니다. 나는 이것이 최선의 방법이 아니라는 것을 안다.SQL Server ORDER BY/WHERE 내포 된 선택 사용
두 개의 테이블, 예약 및 예약 항목이 있습니다. BookingItem에는 StartDate 및 EndDate 필드가 있으며 예약에는 여러 개의 BookingItem이있을 수 있습니다. 가장 빠른 시작 날짜와 가장 최근의 종료 날짜를 BookingItems에서 찾아서 필터링하고 이러한 값을 기준으로 정렬해야합니다.
중첩 된 선택을 시도했지만 WHERE 또는 ORDER BY에서 선택한 열 중 하나를 사용하려고하면 "잘못된 열 이름"이 표시됩니다.
SELECT b.*, (SELECT COUNT(*) FROM bookingitems i WHERE b.BookingID = i.BookingID) AS TotalRooms,
(SELECT MIN(i.StartDate) FROM bookingitems i WHERE b.BookingID = i.BookingID) AS StartDate,
(SELECT MAX(i.EndDate) FROM bookingitems i WHERE b.BookingID = i.BookingID) AS EndDate
FROM bookings b LEFT JOIN customers c ON b.CustomerID = c.CustomerID WHERE StartDate >= '2010-01-01'
SQL 주문에 관한 정보가 누락 되었습니까? 나는 SQL 서버를 2008
작품 완벽하게, 감사합니다. – Echilon