J'ai cette requête élémentaire:Comment puis-je obtenir toutes les valeurs de champs d'une requête avec des tables jointes?
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 en quelque sorte le tableau de résultats contient toujours les champs de la table order_positions
seulement!, À savoir le tableau de résultat ressemble à ceci
row[code] = 'abc123'
alors que je veux qu'il ressemble à ce
row[description] = 'my description'
row[code] = 'abc123'
J'ai déjà essayé ce qui suit:
- Variez l'ordre des champs, c'est-à-dire
code
en premier, puisdescription
. - Varie l'ordre des tables jointes.
- Noms de table complets utilisés à la place des alias.
- 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:
- cette requête dans Exécuter MySQL Query Browser fonctionne très bien, tous les champs sont retournés.
- La table
order_positions
semble être préférée, quoi qu'il arrive. En rejoignant des tables supplémentaires, je n'ai toujours que des champs de cette table.
Thanky vous, mais comme je l'ai dit, je l'ai déjà essayé. –