Frage zu UNION unter MySQL 5.0.24a

Also "gesamt" habe ich zu stehen. Hier mein (ein wenig verkürzter) Query (diesmal nicht vollständig editiert):
Code:
SELECT cid,
	MAX(CASE WHEN rem='0' THEN anz ELSE NULL END) AS anz1
FROM (
	SELECT cl.id as cid, count( bo.id ) AS anz, bo.remove_mode as rem
	FROM xy AS cl
	LEFT JOIN yz AS bo ON ( cl.id = bo.booker_id )
	WHERE bo.remove_mode = '0'
	GROUP BY cl.id
	)
) gesamt
GROUP BY cid
Dein tab und tabname habe ich ersetzt durch mein remove_mode, denn der ist ja jedes mal anders und somit ebenfalls eindeutig. Aber auch mit tab und tabname geht es nicht.
 
Hallo,

du hast eine schliessende Klammer zu viel.
Die anderen Klammern kamen aus deinen einzelnen Subqueries, die du mit UNIONs verbunden hattest.

Markus
 
Hallo,

du hast eine schliessende Klammer zu viel.
Die anderen Klammern kamen aus deinen einzelnen Subqueries, die du mit UNIONs verbunden hattest.

Markus
Nein, ich hatte ich öffnende zu wenig, nämlich die nach FROM, die den kompletten "SELECT - UNION" Bereich einschließt.
Jetzt geht es, vielen Dank!
 
Ich entschuldige mich für den doppelten Post, aber ich habe noch einen Nachtrag, der vielleicht interessant ist.
Ich habe gesehen, dass ich auf die SELECTs mit den UNIONs verzichten kann, wenn ich direkt mit den CASE Anweisungen arbeite.
Mein jetziger Query sieht so aus:

Code:
SELECT cl.id, 
COUNT(
	CASE 
		WHEN bo.remove_mode = '0'
		THEN bo.id
		ELSE NULL
		END
) AS count_rem0, 
SUM(
	CASE 
		WHEN bo.remove_mode = '0'
		THEN bo.month_price
		ELSE NULL
		END 
) AS sum_rem0, 
COUNT(
	CASE 
		WHEN bo.remove_mode = '1'
		THEN bo.id
		ELSE NULL
		END 
) AS count_rem1, 
SUM(
	CASE 
		WHEN bo.remove_mode = '1'
		THEN bo.month_price
		ELSE NULL
		END 
) AS sum_rem1, 
COUNT(
	CASE 
		WHEN bo.remove_mode = '2'
		THEN bo.id
		ELSE NULL
		END 
) AS count_rem2, 
SUM(
	CASE 
		WHEN bo.remove_mode = '2'
		THEN bo.month_price
		ELSE NULL
		END 
) AS sum_rem2
FROM xy AS cl
LEFT JOIN yz AS bo ON ( cl.id = bo.booker_id )
GROUP BY cl.id
 

Neue Beiträge

Zurück