Mam następujące kwerendy chcę ognia:Zapytanie SQL - połączyć DISTINCT i TOP?
SELECT DISTINCT TOP(5) fp.PostId FROM dbForumPosts fp
LEFT JOIN dbForumEntry fe ON fp.PostId = fe.PostId
Order by fe.Datemade DESC
Jednak, kiedy ogień go, pojawia się błąd:
Msg 145, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if SELECT DISTINCT is specified.
Próbowałem zmienić zapytanie, dlatego stosowany GROUP BY zamiast tego, ale potem mam następujący problem:
Msg 8127, Level 16, State 1, Line 4
Column "dbForumEntry.Datemade" is invalid in the ORDER BY clause because it is not contained in either an aggregate function or the GROUP BY clause.
co chcę:
Pomyśl o tym jako o forum. Istnieją posty (dbForumPosts) i wpisy (dbForumEntry). Istnieje 0-wiele wpisów pr post.
Czego chcę, to otrzymywać posty z najnowszą działalnością (posty z najnowszymi aktualizacjami w).
Z jakiego DBMS korzystasz? –
SQL Server 2008 R2 (MSSQL) –
Czy może być więcej niż jedna 'Datemade' na' PostId'? Jeśli tak, który z nich użyć do celów zamówienia? –