J'ai cette question élémentaire :
SELECT d.description, o.code FROM order_positions AS o
LEFT JOIN article_descriptions AS d ON (o.article_id = d.article_id)
WHERE o.order_id = 1
et j'utilise MDB2
de PEAR
pour l'exécuter et lire les valeurs de retour.
Mais d'une manière ou d'une autre, le tableau de résultats contient toujours des champs de la section order_positions
tableau seulement !, c'est-à-dire que le tableau de résultat ressemble à ceci
row[code] = 'abc123'
alors que je veux qu'il ressemble à ceci
row[description] = 'my description'
row[code] = 'abc123'
J'ai déjà essayé ce qui suit :
- Varier l'ordre des champs, c'est-à-dire
code
d'abord, puisdescription
. - Varier l'ordre des tables jointes.
- Utilisation des noms de table complets au lieu des alias.
- J'ai utilisé la "jointure MySQL" à la place (
SELECT FROM table1, table2 WHERE table1.id = table2.id
) - Alias utilisés avec et sans
AS
.
Quelques autres faits :
- L'exécution de cette requête dans MySQL Query Browser fonctionne bien, tous les champs sont renvoyés.
- Le site
order_positions
semble être préférée, quoi qu'il arrive. Lorsque je joins des tables supplémentaires, je n'obtiens toujours que les champs de cette table.