Ce que tu veux c est cela:
SELECT leNOM+[montant global]+[montant total]
FROM …
A cela il va falloir que tu rajoutes un test IF / THEN / ELSE pour savoir si un champ est null ou pas. car si tu concatenes un champ null a une string tu obtiens null.
Tu peux aussi essayer de regarder la methode Concat() et la methode Convert()
J ai pas d editeur mySQL sous la main donc je peux pas te fournir la syntax exact
En fait, voilà grosso-modo la requête que j’utilise (je l’ai “simplifiée” pour ne garder que l’essentiel):
SELECT leNom, SUM(qteGlobal) AS montantGlobal, NULL AS montantTotal
FROM table1 WHERE monTest=‘2008’
GROUP BY leNom
UNION
SELECT leNom, NULL AS montantGlobal, SUM(qteTotaux) AS montantTotal
FROM table2
WHERE monTest=‘2008’
GROUP BY leNom
Les tables sont ainsi:
Table1:
leNom
montantGlobal
utilisateur1
1200
utilisateur2
340
et ma
table 2:
leNom
montantTotal
utilisateur1
2300
utilisateur3
23
ps: je précise que j’ai simplifié la table pour la mettre dans le forum mais qu’en réalité, malgré l’aspect “simple” de mon exemple, les table1 et table2 ne peuvent pas être une seule et même table avec pour champs: leNom;montantGlobal;montantTotal.
Par avance, merci de votre aide.
Julien.
chryso, merci de ta réponse, mais en fait, je pense que MySQL doit arriver à gérer cela.... mais je n'arrive pas à voir comment !! ;-)
En fait, j’ai pu “résoudre” mon problème en utilisant une table temporaire, me permettant ainsi de décortiquer mon problème en plusieurs étapes plutôt que de vouloir résoudre tout d’un seul coup, avec une seule requête.
Si cela peut aider certains, ça fonctionne ainsi:
CREATE TEMPORARY TABLE temp SELECT * FROM donnees WHERE…
Ainsi, j’ai “dissocié” mon problème en 5 requêtes qui, au final fusionnent dans ma table temporaire qui me permet ainsi d’obtenir, au final, mon résultat.
En tous les cas, merci à vous tous pour vos réponse.