2017-07-27 20 views
0

Ich versuche MIN/MAX auf meine SELECT Klausel basierend auf zwei Kriterien anzuwenden. (Siehe unten). Wenn ich versuche, in einer anderen Abfrage auf meine Spalte submitted_at zu verweisen, wird der Spaltenverweis nicht eindeutig angegeben.CASE WHEN auf MIN/MAX anwenden

MIN(CASE WHEN (document != 'dphoto' AND document_type != 'dlicenses' AND 
status = 'upload') THEN occurred_at END) AS submitted_at,` 

MAX(CASE WHEN (document_type = 'dphoto' AND document_type = 'dlicenses' AND 
status = 'upload') THEN occurred_at END) AS submitted_at` 

Ich habe versucht, die Phrase in 1 select zu konsolidieren, war aber nicht erfolgreich. Alle Tipps sind willkommen

+0

Es ist nicht eindeutig, weil Sie Spalten zu benennen sind im Wesentlichen gleich. Warum versuchst du nicht, ** min_submitted_at ** und ** max_submitted_at ** – Isaiah3015

+0

danke für die Hilfe zu ändern! Die obige Antwort funktionierte mit dem, was ich erreichen wollte –

+0

Gern geschehen. Schön, dass es für dich geklappt hat. – Isaiah3015

Antwort

0

Sie können die beiden in einer Spalte verbinden, indem sie mit dem folgenden:

CASE WHEN (document != 'dphoto' AND document_type != 'dlicenses' AND status = 'upload') 
      THEN Min(occurred_at) 
     WHEN (document_type = 'dphoto' AND document_type = 'dlicenses' AND status = 'upload') 
      THEN Max(occurred_at) 
END As Submitted_at 
+0

Nach einigen zusätzlichen Validierung habe ich festgestellt, dass es scheint, wenn dphoto und dlicense "TRUE" ist die Ergebnisse nicht in meiner Abfrage zurückgegeben werden? Ist eine ODER-Anweisung erforderlich? –