Próbuję uzyskać SQL Server do uporządkowania według kolumny z zagnieżdżonego zaznaczenia. Wiem, że nie jest to najlepszy sposób, ale trzeba to zrobić.Serwer SQL ORDER BY/WHERE z zagnieżdżonym zaznaczeniem
Mam dwie tabele, Rezerwacje i BookingItems. BookingItems zawiera pola StartDate i EndDate, i może być wiele BookingItems w Rezerwacji. Muszę znaleźć najwcześniejszą datę rozpoczęcia i datę zakończenia od BookingItems, a następnie filtrować i sortować według tych wartości.
Próbowałem już z zagnieżdżonym zaznaczeniem, ale gdy spróbuję użyć jednej z wybranych kolumn w GDZIE lub ZAMÓW, otrzymuję "Nieprawidłowa nazwa kolumny".
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'
Czy brakuje mi czegoś o zamawianiu kodu SQL? Używam SQL Server 2008.
Działa doskonale, dzięki. – Echilon