Ich habe ein Paar SQL Server-Tabellen.SQL-Abfrage Parent-Child distinct
P enthält ID und Name. PR enthält ID, Zinsrate, Tiernummer, Fromdate, Todate und P.ID. PR kann viele Zeilen enthalten, die pro Seite/Tier aufgelistet sind. (Ebenen sind eine Liste der Preise, die ein Produkt in einem bestimmten Zeitraum haben kann.)
Bsp .: Produkt 1 Tier 1 beginnt 1/1/2008 zu 1/1/2009 und hat 6 Preise gezeigt 1 Reihe pro Rate. Produkt 1 Tier 2 beginnt 1/2/2009 etc etc usw.
Ich brauche eine Ansicht auf diese, die zeigt die P.name und die PR.tiernumber und Daten ... ABER ich möchte nur eine Zeile, um die Stufe darzustellen.
Dies ist einfach:
SELECT DISTINCT P.ID, P.PRODUCTCODE, P.PRODUCTNAME, PR.TIERNO,
PR.FROMDATE, PR.TODATE, PR.PRODUCTID
FROM dbo.PRODUCTRATE AS PR INNER JOIN dbo.PRODUCT AS P
ON P.ID = PR.PRODUCTID
ORDER BY P.ID DESC
Das sind die exakt richtigen Daten gibt mir ... Aber: dies nicht zulässt, mir die PR.ID zu sehen, wie das deutliche negieren würde.
Ich muss die Ergebnismenge begrenzen, weil der Benutzer nur eine Liste von Tiers sehen muss, muss ich die PR.ID sehen, die alle Daten anzeigt.
Irgendwelche Ideen?
Was meinen Sie mit "Ich muss die PR.ID sehen"? WIE PR.ID, da es viele pro Reihe gibt, können Sie nur eine zeigen. Entweder haben Sie eine Zeile pro P.ID/Tier oder pro PR.ID. –
Entschuldigung - Ich muss zu einer Anwendung eine eindeutige ID zurückgeben. Der Benutzer möchte alle Ebenen des Produkts sehen und dann in der Lage sein, einen Bereich auszuwählen, der auf dem Bildschirm besser ausgefüllt werden kann. Ich muss die Stufennummer des ausgewählten Elements finden und diese dann verwenden, um den Rest der Daten abzurufen ... aber die Anwendung kann mir nur die Stufennummer geben, wenn sie die eindeutige ID hat. –