verwendetes Datenbanksystem: SQL Server 2005
SELECT TOP (8) ext.extID, ext.Quote, ext.sourceTitle, ext.extRating, gf_game.catID, gf_game.URL, gf_game.Title
FROM gf_game_ext AS ext INNER JOIN
gf_game ON gf_game.gameID = ext.gameID
WHERE (ext.Approved = 1)
ORDER BY ext.extID DESC
Was ich erreichen möchte ist, dass die gameID jeweils nur einmal vorkommt. Also anstatt 10 "ext Datensätze" mit der gleichen gameID rauszulesen, sollen es nur die ersten 8 "ext Datensätze" mit einer "unique" gameID sein.
Ist das möglich? Ein SELECT DISTINCT am Anfang bringt leider nichts weil die ext Datensätze ja durchaus unterschiedlich sind..
Danke!
hallo,
ich konnte leider nicht testen. Versuch mal bitte folgende code:
Select distinct top(8) ext2.gameID From gf_game_ext AS ext2
inner join gf_game_ext as ext on ext2.gameID=ext.gameID
INNER JOIN gf_game ON gf_game.gameID = ext.gameID
WHERE (ext.Approved = 1)
ORDER BY ext.extID DESC
gruß
Timur Tas
Hallo Paulo,
Bin mir nicht 100 Prozent sicher und kenn den Datenbestand ja nicht aber vielleicht hilft dir ja ein GroupBy weiter. Ich persönlich versuch so oft wie nur möglich DISTINCT zu umgehen da es bei großen Datenmengen extrem Performance kostet.
Gruß
roeb
BizTalk Open Space: http://biztalkopenspace.de/2010/
DNUG Chemnitz: http://dotnet-chemnitz.de
Blog: http://sqlpractice.wordpress.com