erreur GOT pour la requête suivante dans MYSQL (de version5.1)quelqu'un peut-il suggérer l'alternance de "intersecter" et "moins" pour MYSQL?
SELECT year,month,sum(fact_1),sum(fact_2),sum(fact_3),sum(fact_4)
from(
select year,month,fact_1,fact_2,0 as fact_3,0 as fact_4 from table_1
intersect
select year,month,0 as fact_1,0 as fact_2,fact_3,fact_4 from table_2
) as combined_table
group by month,year
Erreur ligne avec le code # 1064: -
Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la syntaxe droit d'utiliser près de « sélectionner année, le mois, 0 comme fact_1,0 que fact_2, fact_3, fact_4 de table_2) comme ct g » à la ligne 5
mais après requête CONFORME a souhaité Résultat: -
SELECT year,month,sum(fact_1),sum(fact_2),sum(fact_3),sum(fact_4)
from(
select year,month,fact_1 ,fact_2,0 as fact_3,0 as fact_4 from table_1
union
select year,month,0 as fact_1,0 as fact_2,fact_3,fact_4 from table_2
) as ct
group by month,year
Quelqu'un peut-il dire quelle erreur je commets? quelqu'un peut m'aider à comprendre la cause profonde du problème.
@ knittl, merci pour la réponse, y at-il une autre solution –
pourquoi avez-vous une solution de rechange lorsque vous avez un travail? des solutions alternatives utiliseraient 'NOT IN' ou 'NOT EXISTS' – knittl
il y a certaines exigences spécifiques de mon projet, je peux effectuer des opérations sur les 2 requêtes INNER SELECT seulement ... Je sais que c'est étrange c'est une limitation de mon API –