[MSSQL] Top 5 verschiedenere 'Treffer'

Hallo zusammen

Ich habe eine DB, welche diverse Text- und Integerfelder enthält.
Dazu kommt natürlich ein ID-Feld (integer) und weitere 3 Felder (bit).

Als Beispiel:

ID (integer) | Bemerkung (string) | Wertung (integer) | KatA (bit) | KatB (bit) | KatC (bit)

Wenn ich ja nun die TOP 5 von KatA will, verwende ich folgendes Query:

SELECT TOP 5 ID, Bemerkung, Wertung FROM myTable WHERE KatA=1 ORDER BY ID DESC

Nun möchte ich das aber für KatB und KatC auch machen und dies in EINEM Request zurückgeben. Also im Prinzip statt 3 einzelnen Requests ein gesamter, welcher mir die TOP 5 der jeweiligen Kategorie ausgibt.

Schnallt irgendwer, was ich genau meine? :smile:

Gruss & Danke
Chris

Hallo zusammen

Hi,
mit dem Schlüsselwort UNION verknüpfst du mehrere Abfragen.
Die zu empfangenen Felder müssen aber identisch sein.
Beispiel:

SELECT TOP 5 Id, Bemerkung, Wertung
FROM tbl1
WHERE FeldA=1
UNION
SELECT TOP 5 Id, Bemerkung, Wertung
FROM tbl1
WHERE FeldB=1

Gruß.Timo