2017-02-02 5 views
0

Ich habe eine Tabelle mit einigen Einträgen und ich brauche Hilfe mit einem SQL-Befehl. Die Tabelle besteht aus etwa 50 Einträgen mit 6 Spalten.MS Access SQL - SELECT COUNT

Table: tbl-planung 

ID SID STATUS ... ... ... 
1 MDT Yes ... ... ... 
2 ABC Yes ... ... ... 
3 BLA NO  ... ... ... 

Ich brauche einen Befehl, der die Gesamtmenge der Einträge in dieser Tabelle zählt + die Menge der Einträge mit STATUS = Yes

Like:

TOTAL DONE 
50 2 

Aber mein Befehl gibt

TOTAL DONE 
50 50 

SQL-Befehl

SELECT Count([tbl-planung].Abgeschlossen) AS Total, 
     Count([tbl-planung].Abgeschlossen) AS Done 
    FROM [tbl-planung] 
WHERE ((([tbl-planung].Abgeschlossen)=Yes)); 
+0

war nicht meine Antwort richtig? Ich habe vor juergen geantwortet und meine Lösung ist schneller. –

+0

Es sieht korrekt aus, aber ich sah, dass juergens zuerst antwortet. – rel0aded0ne

Antwort

1

eine bedingte SUM

SELECT Count(Abgeschlossen) AS Total, 
     sum(iif(Abgeschlossen = Yes, 1, 0)) AS Done 
FROM [tbl-planung] 
+0

perfekt !! Danke. – rel0aded0ne

1

Verwendung SUM Verwenden Sie stattdessen ohne WHERE:

SELECT Count([tbl-planung].*) AS Total, 
     -Sum([tbl-planung].Abgeschlossen) AS Done 
    FROM [tbl-planung]