PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Unterabfragen mit der äusseren Abfrage gruppieren



JCB
08.01.2007, 15:06
Moin,

ich hänge hier und brauch mal etwas Hilfe oder einen Lichblick:

eine Tabelle master_tbl
ID C1 C2 c_Country

C1 ist teilweise mit Nummern gefüllt
C2 ist teilweise mit Nummern gefüllt

Normal kann ich einfach eine Abfrage machen die mir ein richtiges Ergebnis ausgibt:


select count(id),
count(C2),
count(C1),
(select count(C1) from master_tbl where C2 is null) AS cntnew,
count(C2)/count(id)
from master_tbl;


Möchte ich jetzt aber eine Gruppierung des Landes mit ausgewertet haben, weiß ich nicht, wie ich die Unterabfrage gestalten und diese mit der Äusseren verbinden soll?


select c_country='DE' as DE,
count(id),
count(C2),
count(C1),
(select count(C1) from master_tbl where C2 is null ) AS cntnew, count(C2)/count(id) AS PERCENT
from master_tbl
group by c_country='DE';

Ginge das nicht auch ohne ein extra View zu erstellen?

mysql Server 5.0.21

Für einen Hinweis wäre ich dankbar,

Gruß,
JCB

satisfied
08.01.2007, 15:36
group by c_country='DE';
Dieses ='DE' hat eigentlich nichts hinter der GROUP BY Klausel zu suchen. Vielleicht mal mit WHERE c_country='DE' vor der GROUP BY versuchen

JCB
08.01.2007, 15:42
@satisfied,

nee dat is schon richtig, da ich nach DE ind <> DE Gruppieren möchte, dies gibt mir dann ohne unterbafrage 4 Spalten wobei die erste Spalte 1 und 0 enthält, welches dann meine Gruppierungskriterien sind, nämlich Nicht DE und =DE.

Das löst aber leider mein Unterabfragen Problem noch nicht.

Danke,

JCB