2012-04-13 11 views
1

Ich habe eine Abfrage, die Datensätze auf der Grundlage verschiedener Kriterien zählt, aber ich möchte die Ergebnisse in zwei gruppierte Felder basierend auf den genannten Kriterien aufteilen. Gibt es eine Möglichkeit, dies innerhalb der Abfrage zu tun - oder sind zwei Abfragen erforderlich?Aggregierte Ergebnisse basierend auf Where-Klausel mit SQLite

Ich versuche, nach IP und SS zu gruppieren, um eine Gesamtzahl zu erhalten.

Antwort

2

Ich bin nicht wirklich sicher, was Sie wollen. Wenn Sie jedoch eine Zählung für "SS%" und eine für "IP%" wünschen. Dann vielleicht so etwas wie das:

select 
    SUM(CASE WHEN PT_TASK_ASSAY_DISP LIKE 'SS%' THEN 1 ELSE 0 END) as SSCount, 
    SUM(CASE WHEN PT_TASK_ASSAY_DISP LIKE 'IP%' THEN 1 ELSE 0 END) as IPCount 
from vbasedata v 
where 
    v.PT_TASK_ASSAY_DISP like 'SS%' or 
    (v.PT_TASK_ASSAY_DISP like 'IP%' and 
    v.PT_TASK_ASSAY_DISP not like 'IP CUT' and 
    v.PT_TASK_ASSAY_DISP not like 'IP NEG'); 
+0

Das ist genau das, was ich gesucht habe. Vielen Dank! Ich war mir nicht sicher, ob es notwendig war, ein "TASK_ASSAY" -Feld zu haben, um die SS- und IP-Datensätze zu gruppieren. – gsforfree