J'ai deux tables SQL, nouvelles et sections de nouvelles. Je souhaite afficher les premières lignes d'un groupe en sélectionnant 4 types différents de sections d'actualités. Par exemple:comment sélectionner la première ligne du groupe par avec la jointure
SELECT TOP (4) a.newsID, a.title, a.clicked, a.path, a.newsDate, c.sectionName, a.sectionID
FROM dbo.News a INNER JOIN
dbo.newsSection c
ON a.sectionID = c.SectionID
WHERE (c.SectionID = 21) OR (c.SectionID = 23) OR (c.SectionID = 36) OR (c.SectionID = 37)
GROUP BY c.sectionName, a.newsID, a.title, a.clicked, a.path, a.newsDate, a.sectionID
ORDER BY a.newsDate DESC
Les échantillons de données et les résultats souhaités expliqueraient mieux ce que vous voulez faire. J'ai ajouté la balise SQL Server. –
Quel est le problème avec la requête en cours? – Parfait
Il y a une chose que je ne comprends pas à propos de votre modèle de données. Vous avez des nouvelles et des sections de nouvelles. Donc je m'attendrais à ce que les deux tables soient reliées par l'ID de nouvelles. Mais étonnamment, vous vous joignez à sectionID. Comment une nouvelle peut-elle avoir un sectionID? Cela ne ferait-il pas de la section des nouvelles une nouvelle? Ou est-ce une faute de frappe simple dans votre requête? –