Sql champ dans clause where ambigu
Fermé
wildchildforlife
Messages postés
74
Date d'inscription
jeudi 28 août 2008
Statut
Membre
Dernière intervention
23 juillet 2011
-
8 avril 2010 à 02:41
blux Messages postés 26814 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2025 - 8 avril 2010 à 09:56
blux Messages postés 26814 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2025 - 8 avril 2010 à 09:56
Bonjour !
C'est simple je veux selectionner et afficher tout les champs "nom_table" parmis plusieurs tables voici ma requete :
$selection_recherche = mysql_query("SELECT * FROM films, jeux, series, music WHERE nom_table = '%$recherche%' ORDER BY id DESC") or die(mysql_error());
on me dit "Champ: 'nom_table' dans where clause est ambigu"
j'ai lu que ambgu vx dir que ma sgdb ne c pas quoi prendre exactement puisque plusieurs tables comportent le meme champ, mais moi je veux qu'elle les prennent TOUTES ( celle qui comportent ce que j'ai spécifié dans le WHERE ) xD comment faire ? :s !
C'est simple je veux selectionner et afficher tout les champs "nom_table" parmis plusieurs tables voici ma requete :
$selection_recherche = mysql_query("SELECT * FROM films, jeux, series, music WHERE nom_table = '%$recherche%' ORDER BY id DESC") or die(mysql_error());
on me dit "Champ: 'nom_table' dans where clause est ambigu"
j'ai lu que ambgu vx dir que ma sgdb ne c pas quoi prendre exactement puisque plusieurs tables comportent le meme champ, mais moi je veux qu'elle les prennent TOUTES ( celle qui comportent ce que j'ai spécifié dans le WHERE ) xD comment faire ? :s !
A voir également:
- Sql champ dans clause where ambigu
- Sql lister les tables ✓ - Forum Programmation
- Logiciel sql - Télécharger - Bases de données
- Le nom du champ de tableau croisé dynamique n'est pas valide - Forum Excel
- Tableau Croisé Dynamique ✓ - Forum Excel
- Requête sql pix - Forum Python
1 réponse
blux
Messages postés
26814
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
26 avril 2025
3 335
8 avril 2010 à 09:56
8 avril 2010 à 09:56
Salut,
ta requête est mal conçue.
Tu veux selectionner tous les champs de toutes les tables, ce n'est pas possible sous SQL. Quand on met plusieurs tables, c'est qu'on doit faire une jointure.
Si tu as une colonne nom_table, tu dois préciser à quelle table elle est rattachée.
Si tu veux vraiment toutes les colonnes appelées nom_table tu dois faire un truc de ce genre :
SELECT nom_table from films
UNION
SELECT nom_table from jeux
UNION
SELECT nom_table from series
UNION
SELECT nom_table from series
ta requête est mal conçue.
Tu veux selectionner tous les champs de toutes les tables, ce n'est pas possible sous SQL. Quand on met plusieurs tables, c'est qu'on doit faire une jointure.
Si tu as une colonne nom_table, tu dois préciser à quelle table elle est rattachée.
Si tu veux vraiment toutes les colonnes appelées nom_table tu dois faire un truc de ce genre :
SELECT nom_table from films
UNION
SELECT nom_table from jeux
UNION
SELECT nom_table from series
UNION
SELECT nom_table from series