Comment la GAUCHE JOINDRE deux tables avec le même nom de colonne
Je tiens à GAUCHE de la JOINTURE de deux tables avec le même nom de colonne. J'ai deux tables qui je suis en train de les rejoindre, mais je reçois un message d'erreur:
column 'id' is ambiguous
retourné dans ma sortie JSON.
Ma requête actuelle:
$sQuery = "
SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))."
FROM $sTable
LEFT JOIN
$sTable2
ON ($sTable2.id = $sTable.id)
$sWhere
$sOrder
$sLimit
";
Produit cette erreur. Comment puis-je joindre ces deux tables de la jointure point quand il y a le même nom de colonne de chaque table?
OriginalL'auteur gordyr | 2011-11-14
Vous devez vous connecter pour publier un commentaire.
Être explicite sur la table qui appartient la colonne. Cela s'applique également à la partie SELECT de la requête:
Pour vous épargner un peu de temps en temps, utiliser des alias de table:
OriginalL'auteur knittl
L'ambiguïté est probablement dans la sélection, pas de la jointure. La jointure semble OK. $aColumns contient probablement "id" sans nom de la table de spécification ou de quelque chose.
OriginalL'auteur Rémi
Dans votre cas, à la fois le tableau 1 et le tableau 2 sont les mêmes. Alors Il pourrait y avoir aucun avantage de faire une Jointure Gauche parce que finalement, toutes les lignes seront retournés. Vous pourriez voulez utiliser une Jointure Interne.
OriginalL'auteur Zohaib