[QUOTE=p80286;1043363]
Zitat:
Ähhhh wie?
Zum Bleistift so (in Oracle kenne ich mich nicht aus, daher so, wie ichs in MS
SQL gemacht hätte, kA ob das ein großer Unterschied ist
):
SQL-Code:
select
a.cnt as Anzahl,
b.cnt as Anzahl2010
From
(select
COUNT(*) as cnt
from
ErgName n inner join ErgDate d on
n.ErgID = d.ErgID) a
cross join
(select
COUNT(*) as cnt
from
ErgName n inner join ErgDate d on
n.ErgID = d.ErgID
where YEAR(d.ErgDate) = 2010) b
Mal ganz davon abgesehen davon, dass ich gar nicht verstehe, warum der join zwischen ErgName und ErgDate überhaupt gemacht wird... du könntest ja auch gleich die IDs in ErgDate zählen.
Evtl ginge es auch so:
SQL-Code:
select
SUM(Anzahl) as Anzahl, SUM(Anzahl_2010) as Anzahl_2010
From
(select
YEAR(ErgDat) as Jahr,
COUNT(ErgID) as Anzahl,
case when YEAR(Ergdate) = 2010 then COUNT(ErgID) else 0 as Anzahl_2010
From ErgDate
group by YEAR(ErgDat), COUNT(ErgID)) a
//Edit:
Was mir noch einfiele (keine Ahnung, ob das funktioniert):
[...]
Jo, wie gesagt: Die zwei Einzelabfrage joinen
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;