Einzelnen Beitrag anzeigen

Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#8

AW: SQL KnowHow fehlt

  Alt 19. Aug 2010, 14:08
[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;

Geändert von leddl (19. Aug 2010 um 14:12 Uhr)
  Mit Zitat antworten Zitat