phpbar.de logo

Mailinglisten-Archive

Fragen zum Gebrauch von UNION

Fragen zum Gebrauch von UNION

Sebastian Mendel lists at sebastianmendel.de
Die Jul 18 20:16:10 CEST 2006


Tim Hildebrandt schrieb:
> Hallo Sebastian,
> 
> 
>> achso, ein Subselect könnte auch gehen:
>>
>>
>> SELECT pfad, SUM(`COUNT(pfad)`) FROM (
>> 	SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum1 GROUP BY pfad
>> 	UNION
>> 	SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum2 GROUP BY pfad
>> 	UNION
>> 	SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum3 GROUP BY pfad
>> 	UNION
>> 	SELECT pfad, COUNT(pfad) FROM tabelle_zeitraum4 GROUP BY pfad
>> 	)
>> GROUP BY pfad
>> ORDER BY pfad
> 
> Danke hat soweit funktioniert. Mal noch eine Verständnisfrage (sory, wenn
> ich langsam nerven sollte):
> 
> Wenn ich in jeder Zeile das COUNT(pfad) mit Alias, also z.B: 
> 
> COUNT(pfad) as num_pfad 
> 
> schreiben würde, warum funktioniert es dann nicht, dass ich in der
> umgebenden Tabelle statt 
> 
> SUM(`COUNT(pfad)`) 
> 
> einfach schreibe 
> 
> SUM(num_pfad)? Ist doch dann eigentlich das gleiche, oder?

weil es dort kein Feld mit dem Namen `num_pfad` gibt,
die übergibst das Ergebnis der geklammerten Abfrage - und dort gibt es
nur 2 Felder: `pfad`, `COUNT(pfad)`

Wenn du unbedingt ein Feld `num_pfad` haben möchtest muss du es auch in
der Select-Auswahl haben, z. B. als Alias:

...
SELECT `pfad`, COUNT(`pfad`) AS `num_pfad`
...


-- 
Sebastian

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive