mehrere male zählen

Mar_Melade

Neuer Benutzer
Beiträge
2
Hi, versuche gerade eine Abfrage mit SQL zu gestalten, so dass alle MA und die angezeigt werden, die 95 eingestellt wurden. In der Unterabfrage scheint aber der Wurm zu stecken, finde aber den Fehler nicht. Die zweite Abfrage ist für sich allein stehend zumindest syntaktisch korrekt. In Kombination mit der äußeren Abfrage funktioniert das leider nicht.

Wäre für Hilfe äußerst dankbar.

select COUNT(EMPLOYEE_ID) "ALLE",
(SELECT COUNT(HIRE_DATE) FROM EMPLOYEES WHERE HIRE_DATE LIKE '%95') AS "1995"
from EMPLOYEES;
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.851
Hi, versuche gerade eine Abfrage mit SQL zu gestalten, so dass alle MA und die angezeigt werden, die 95 eingestellt wurden. In der Unterabfrage scheint aber der Wurm zu stecken, finde aber den Fehler nicht. Die zweite Abfrage ist für sich allein stehend zumindest syntaktisch korrekt. In Kombination mit der äußeren Abfrage funktioniert das leider nicht.

Wäre für Hilfe äußerst dankbar.

select COUNT(EMPLOYEE_ID) "ALLE",
(SELECT COUNT(HIRE_DATE) FROM EMPLOYEES WHERE HIRE_DATE LIKE '%95') AS "1995"
from EMPLOYEES;


Probier doch mal select count(*) as alle , count(case when ... then 1 else 0 end) as ... from ...
 

Mar_Melade

Neuer Benutzer
Beiträge
2
Funktioniert so leider auch nicht

Habs leicht umgestellt, klappt aber immer noch nich

select COUNT(EMPLOYEE_ID) "ALLE",
Count(SELECT HIRE_DATE FROM EMPLOYEES WHERE HIRE_DATE LIKE '%95') AS "1995"
from EMPLOYEES;

Da sagt er mir dass n Ausdruck fehlt
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.851
Funktioniert so leider auch nicht

Habs leicht umgestellt, klappt aber immer noch nich

select COUNT(EMPLOYEE_ID) "ALLE",
Count(SELECT HIRE_DATE FROM EMPLOYEES WHERE HIRE_DATE LIKE '%95') AS "1995"
from EMPLOYEES;

Da sagt er mir dass n Ausdruck fehlt


Du hast nicht das getan, was ich gesagt habe. Daher geht es nicht, logisch, oder?

Code:
test=*# select * from marmelade ;
 id |     d
----+------------
  1 | 2012-01-01
  2 | 2013-01-01
(2 rows)

test=*# select count(1), sum(case when d >= '2013-01-01' then 1 else 0 end) as dieses_jahr from marmelade ;
 count | dieses_jahr
-------+-------------
     2 |           1
(1 row)

Andreas
 
Oben