Ich habe eine Eltern-Tabelle 'ProductCategory' und eine Kind-Tabelle 'Produkt'. Ich habe diese Abfrage, die 3 zufällige Produkte zurückgibt:sql Server 2005 Abfrage - zufällige Kind Zeilen von UNIQUE zufällige Eltern Zeilen
SELECT TOP (3) ProductId
FROM Product
ORDER BY NEWID();
Ich möchte diese Abfrage zu verbessern, um zu erreichen, dass alle Produkte aus verschiedenen Produktkategorien. So ist die Abfrage eindeutige Kategorien würden zu bekommen:
SELECT TOP (3) ProductCategoryId
FROM ProductCategory
ORDER BY NEWID();
Ich bin, um herauszufinden, nicht in der Lage, wie diese zwei Abfragen zu kombinieren, um mein Ziel zu erreichen. Die offensichtliche Abfrage
SELECT TOP (3) p.ProductId
FROM Product p
where p.productcategory_ProductCategoryId in
(
SELECT TOP (3) ProductCategoryId pc
FROM ProductCategory pc
ORDER BY NEWID()
)
ORDER BY NEWID();
funktioniert nicht. Es scheint, dass die innere select-Anweisung ignoriert wird. Ich habe es auch mit der EXISTS-Anweisung versucht oder bin den Tabellen beigetreten. Alle mit dem gleichen Ergebnis.
Hat jemand eine Idee? Vielen Dank im Voraus!