Wie ich jetzt weiß, kann CASE nur im WHERE-Kontext verwendet werden. Allerdings muss ich je nach Wert von column
eine andere Tabelle verwenden. Das, was ich versucht habe, sieht so aus:
SELECT
`ft1`.`task`,
COUNT(`ft1`.`id`) `count`
FROM
`feed_tasks` `ft1`
CASE
`ft1`.`type`
WHEN
1
THEN
(INNER JOIN `pages` `p1` ON `p1`.`id` = `ft1`.`reference_id`)
WHEN
2
THEN
(INNER JOIN `urls` `u1` ON `u1`.`id` = `ft1`.`reference_id`)
WHERE
`ft1`.`account_id` IS NOT NULL AND
`a1`.`user_id` = {$db->quote($user['id'])}
Jetzt, da ich weiß, dass dies ungültige Syntax ist, was ist die nächstbeste Alternative?