2016-08-04 7 views
0

Diese Abfrage Rückkehr ist nicht das, was ich es aber sollte:Where-Klausel mit mit Abfrage Pausen Zahl

Select user_id 
from subs 
where status = 'Failed' 
and next_run_dt = '2016-08-04' 
and active = '1' 
group by user_id having count(status) = 2 

Tabellenstruktur und Beispieldaten:

id__|__status__|__next_run_dt__|__user_id__|__active__| 
    |   |    |   |   | 
1 | Failed | 2016-08-04 | 3  | 1  | 
___|__________|_______________|___________|__________| 
    |   |    |   |   | 
2 | Failed | 2016-08-04 | 4  | 1  | 
___|__________|_______________|___________|__________| 
    |   |    |   |   | 
3 | Failed | 2016-08-04 | 3  | 1  | 
___|__________|_______________|___________|__________| 

Die Abfrage sollte die user_id zurückkehren von 3, weil dieser Benutzer zwei Einträge mit dem Status Failed hat. Die Abfrage gibt die Benutzer-ID zurück, wenn ich and next_run_dt = '2016-08-04' (Datumsspalte) entferne.

Was fehlt mir?

EDIT: Es besteht auch die Möglichkeit, dass ein user_id auch auch

+0

Es sieht vollkommen in Ordnung für mich aus; Ich kann mir nur vorstellen, dass es ein Problem mit dem Datumsformat gibt. Was gibt es zurück, wenn Sie die Gruppenklausel und die Hasenklausel entfernen? Wenn es Ihnen _no_ Zeilen gibt, ist es klar, dass die Where-Bedingung an dem Datum aus ist; Wenn es dir alle Linien gibt, bin ich auch verloren. – Aganju

+0

Was ist der Datentyp bei next_run_dt? – atjoedonahue

+0

@Aganju, löscht die Gruppe mit und gibt alle Einträge zurück, bei denen 'Failed' und' active' sind. – Kisaragi

Antwort