Salve. Ho bisogno di effettuare una query molto lunga, che deve eseguire ogni subqueries solo se un campo della select primaria sia uguale a uno associato ad ogni subquery. Ecco la query, stilizzata:
SELECT [campi] FROM [database.tabella] WHERE cond1 AND ( campo = 'a' AND ( [subquery1] ) > 0 ) OR ( campo = 'b' AND ( [subquery2] ) > 0 ) GROUP BY [campi] ORDER BY [campo] DESC LIMIT 30
Ora, di subqueries ce ne sono 6, qui ne ho messe solo 2 per ovvi motivi di comprensione.
ogni subquery è di questo tipo:
SELECT COUNT(*) AS num FROM [database.tabella1] WHERE [campo] LIKE tabella_originaria.campo GROUP BY [campo]
Se è necessario vi mostro la query originale, ma non penso che il problema sia lì. Mysql mi riporta un errore nella prima subquery, errore di sintassi.
Non ho mai lavorato con le subquery, ma mi sono documentato abbastanza nella documentazione ufficiale. Sapreste dirmi se sbaglio qui?