2016-10-13 1 views
0

Ich habe eine Situation mit einer Abfrage, die ich erstellt, die eine Abfrage in der Select-Anweisung hat (ich glaube, es heißt eine skalare Unterabfrage). Wie du weißt, wenn du eine Unterabfrage in der Select-Anweisung verwendest .... zumindest kann die einzige Art, wie ich weiß, ... nur einen zurückgegebenen Wert verarbeiten.Ein Scalar SubQuery Issue - Behandeln Sie mehrere Werte

Wie auch immer, ich versuche, in der Unterabfrage das Datum eines Termintyps zurückzuziehen, den 99% unserer Kunden nur einmal haben. Es gibt jedoch Situationen, in denen diese 1% zwei oder mehr dieser Termine hatten. Ich brauche nur das späteste Datum. Kann mir jemand mit der Logik helfen, mit Situationen aus mehreren Zeilen umzugehen und nur das späteste Datum zu greifen.

(SELECT SSUSED_1.usedate 
FROM SS AS SS_1 
INNER JOIN SSUSED AS SSUSED_1 ON SS_1.ssid = SSUSED_1.ssid 
WHERE MEMBERS.memid = SS_1.memid AND SS_1.productid = 326 AND SSUSED_1.transactiontype = 'Use') AS SecondUsed 
+1

Können Sie die vollständige Abfrage anzeigen? –

Antwort

0

Es scheint, wie Sie einfach MAX verwenden kann?

SELECT MAX(SSUSED_1.usedate) 
FROM SS AS SS_1 
INNER JOIN SSUSED AS SSUSED_1 ON SS_1.ssid = SSUSED_1.ssid 
WHERE MEMBERS.memid = SS_1.memid AND SS_1.productid = 326 AND SSUSED_1.transactiontype = 'Use' 
+0

Arbeitete perfekt! Genau das, was ich brauchte, Danke !!! – Merlin