2017-02-09 4 views
0

Ich versuche, die Gesamtzahl der Tage für Mitarbeiter in einem Datumsbereich zu erhalten. Die Abfrage funktioniert solange, bis eine weitere Spalte zur Auswahl hinzugefügt wird.Hinzufügen einer Spalte zum Zählen einer bestimmten Abfrage

Dann wird ein Fehler erhalten:

Spalte ‚TABLE.COLUMNAME‘ in der Auswahlliste ungültig ist, weil es nicht in einer Aggregatfunktion oder die GROUP BY-Klausel enthalten ist.

Wo werden zusätzliche Spalten in Select hinzugefügt, die nicht Teil der Aggregatfunktion sind? Dies ist die Abfrage, die den Fehler zurückgibt.

select count (distinct PUNCH) als 'Arbeitstage', EMPLOYEE aus Zeitenliste, wo SUPERVISOR = 'Smith' und PUNCH> = '2017.01.01' AND PUNCH < ‚= 2017.01.31 '

Abfrage funktioniert gut, wenn die Mitarbeiter Spalte nicht

enthalten ist

Antwort

0
select count (distinct PUNCH) as 'Days Worked', EMPLOYEE from TIMESHEET where SUPERVISOR = 'Smith' and PUNCH >= '2017-01-01' AND PUNCH <= '2017-01-31' 
GROUP BY EMPLOYEE 

Usegroup durch, wie durch den Fehler vorgeschlagen.

Verwandte Themen