Ich habe einen Fall, wo ich nur die oberen Zeilen basierend auf einer Einstellung in einer Tabelle und der Ordnungszahl zeigen müssen.Wählen Sie obere n Datensätze basierend auf ordinal und Attributdaten
Beispieldatensatz unten zeigt zwei Kunden; Jeder Kunde hat ein anderes Produkt. Da NumRowsToShow
"1" ist, möchte ich nur eine Zeile (die obere Zeile basierend auf der Ordnungszahl) für JEDEN Kunden anzeigen.
| CustomerID | ProductID | Ordinal | NumRowsToShow |
+------------+-----------+---------+---------------+
| 1 |A |1 |1 |
| 1 |B |2 |1 |
| 1 |C |3 |1 |
| 5 |D |1 |1 |
| 5 |E |2 |1 |
| 5 |F |3 |1 |
Das Ergebnis nach Abfrage festgelegt wird, sollte
| CustomerID | ProductID |
+------------+-----------+
| 1 |A |
| 5 |D |
Im gleichen Szenario ausgeführt werden, wenn NumRowsToShow
1 für customerID waren 1 und 2 für CustomerID 5 ich so etwas sehen würde.
| CustomerID | ProductID | Ordinal | NumRowsToShow |
+------------+-----------+---------+---------------+
| 1 |A |1 |1 |
| 1 |B |2 |1 |
| 1 |C |3 |1 |
| 5 |D |1 |2 |
| 5 |E |2 |2 |
| 5 |F |3 |2 |
Das Ergebnis nach Abfrage festgelegt wird, sollte dies getan werden Wie kann
| CustomerID | ProductID |
+------------+-----------+
| 1 |A |
| 5 |D |
| 5 |E |
sein laufen?
Einschließlich einer Bildschirmkappe des tatsächlichen Ergebnisses mit Highlights von dem, was ich versuche zu filtern, was ein wenig hilfreich sein kann.
Screencap http://www.harpernet.net/se/cap01.jpg
Und was passiert, wenn ein Reihen des Kunden hatten drei verschiedene 'NumRowsToShow' (zB 1,2,3) –
Das würde nicht passieren; NumRowsToShow kommt von einer Einstellung pro CustomerID. Es ist das gleiche. Dies ist ein Ergebnis mehrerer Abfragen. Kunde/ProductID sind nicht die tatsächlichen Ergebnissätze. Ich versuche nur, ein einfaches Beispiel dafür zu geben, was ich filtere. – sugarcrum