Bonjour,

Je rencontre actuellement un problème assez étrange avec une requête SQL tournant de façon automatique chaque jour depuis plusieurs années et qui d'un coup rencontre l'erreur suivante : Subquery returns more than 1 row.

Voici la requête en question :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
select `b`.`art` AS `art`,
(select `a1`.`art_2` AS `art_2` from (`phase2_BOM2` `a1` join `QA` on((`a1`.`art_2` = `QA`.`art`))) where ((`b`.`art` = `a1`.`art`) and (`QA`.`groupe` in (100,101,110)))) AS `a1`,
(select `a2`.`art_2` AS `art_2` from (`phase2_BOM2` `a2` join `QA` on((`a2`.`art_2` = `QA`.`art`))) where ((`b`.`art` = `a2`.`art`) and (`QA`.`groupe` not in (100,101,110)))) AS `a2`,
`b`.`type` AS `tp` 
from `phase2_BOM2` `b` 
where (`b`.`type` = _latin1'K') 
union 
select test.`art` AS `art`,test.`art_2` AS `art_2`,NULL AS `NULL`,test.`type` AS `type` 
from `phase2_BOM2` AS test
where (test.`type` = _latin1'I')
Ce qui est d'autant plus étrange, c'est lorsque j’exécute les 2 requêtes de l'union séparément je n'ai aucune erreur.

Edit: Plus étrange encore, sur un serveur de test étant une copie conforme du serveur de prod (même version mysql) la requête passe.

Merci d'avance.