Como ahora sé, CASE solo se puede usar en contexto WHERE. Sin embargo, necesito usar una tabla diferente según el valor column
. Lo que he tratado es el siguiente:Consulta de MySQL donde JOIN depende de CASE
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'])}
Ahora que sé que esto es una sintaxis no válida, ¿cuál es la alternativa más cercana?
debe combinar tanto '' pages' y urls' – ajreal
¿Dónde se lee ese caso sólo puede utilizarse en WHERE ¿cláusulas? No es verdad –
fusionar como literalmente "fusionar dos bases de datos en una"? Bueno, en ese caso, esta no es una opción porque ambos tienen una estructura completamente diferente. @ Álvaro G. Vicario: de cualquier manera, esta no es una sintaxis válida. Por lo tanto, estoy pidiendo una alternativa. – Gajus