Ik heb de volgende query en selecteer op accountID in de subquery. In dit geval werkt het echter niet. Als ik de accountID condition in de hoofd query plaats werkt het echter wel prima. Ik snap alleen niet waarom dit in het eerste voorbeeld niet werkt. Heeft één van de twee methoden nog de voorkeur?
SQL:
1
2
3
4
5
6
7
8
| SELECT TOP (@number) TicketDate, Balance FROM Data WHERE Ticket IN (SELECT MAX(Ticket) FROM Data WHERE Balance IS NOT NULL AND AccountID = @accountID AND TicketDate > @start AND TicketDate < @end GROUP BY DATEPART(week, TicketDate), DATEPART(year, TicketDate)) ORDER BY TicketDate DESC |
SQL:
1
2
3
4
5
6
7
8
| SELECT TOP (@number) TicketDate, Balance FROM Data WHERE Ticket IN (SELECT MAX(Ticket) FROM Data WHERE Balance IS NOT NULL AND TicketDate > @start AND TicketDate < @end GROUP BY DATEPART(week, TicketDate), DATEPART(year, TicketDate)) AND AccountID = @accountID ORDER BY TicketDate DESC |