Not unique table/alias: 'tblDet'

cs_raurau Messages postés 17 Date d'inscription lundi 21 avril 2003 Statut Membre Dernière intervention 26 mai 2008 - 26 juil. 2006 à 11:38
cs_raurau Messages postés 17 Date d'inscription lundi 21 avril 2003 Statut Membre Dernière intervention 26 mai 2008 - 26 juil. 2006 à 14:20
Bonjour à tous
Je voudrais mettre les données de la table tblimport dans la table tblDet (uniquement les manquants dans table tbDet)
La reponse est : Not unique table/alias: 'tblDet'

Ce qui est bizarre: si je fais une table tblDetttt avec les memes champs et je remplace($strsql= "insert into tblDetttt select tblimport.........) les données vont dans table tblDetttt

Requete utilisée:
$strsql ="insert into tblDet select tblimport.* from tblimport LEFT  JOIN tblDet ON tblimport.num_pays = tblDetenu.num_pays WHERE tblDet.num_pays  IS NULL 
     $req=mysql_query($strsql)or die (erreur("SQL",''.mysql_error().'',"import","ligne 19"));

Si je veux seulement afficher les données celà fonctionne avec cette requete

$strSql="select tblimport.* from tblimport LEFT JOIN tblDet ON tblimport.num_pays=tblDetenu.num_pays WHERE tblDetenu.num_pays IS NULL
    $req=mysql_query($strSql)or die (erreur("SQL",''.mysql_error().'',"import","ligne 118"));
    if (mysql_num_rows($req)>0){
        echo "Nouveau enregistrement
";
        while ($tabreq = mysql_fetch_array($req)){
            echo "$tabreq[num_pays] $tabreq[nom_det]
";
        }
    }

merci d'avance

raurau

5 réponses

cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
26 juil. 2006 à 12:03
Préfixe le nom du champ par celui de la table dans lequel tu veux le
sélectionner, ca peut venir de la, non ? (je n'ai jamais rencontré
cette erreur, je dis ca a tout hasard.. vu que tu as une jointure :o))

PaDa
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 juil. 2006 à 13:00
Hello,

insert into tblDet select tblimport.* from tblimport LEFT  JOIN tblDet ON tblimport.num_pays = tblDetenu.num_pays WHERE tblDet.num_pays  IS NULL 

ça sort d'où, tblDetenu ?
0
cs_raurau Messages postés 17 Date d'inscription lundi 21 avril 2003 Statut Membre Dernière intervention 26 mai 2008
26 juil. 2006 à 13:16
Erreur d'ecriture tblDetenu c'est tblDet
Merci et excuse moi
Cette base servira pour une association d'aide aux familles dont des personnes sont en difficultées

raurau
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 juil. 2006 à 13:39
Bon ok, en tous cas, ton problème vient du JOIN.
Et je pense que c'est un bug corrigé dans les versions plus récentes de mysql.
Une solution : passer par des sous requêtes, plutôt qu'une jointure.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_raurau Messages postés 17 Date d'inscription lundi 21 avril 2003 Statut Membre Dernière intervention 26 mai 2008
26 juil. 2006 à 14:20
Merci de ta réponse, mais celà veut-il dire qu'il faudrait faire ma requete en plusieurs.
Un coup de pouce serait le bien venu
merci

raurau
0
Rejoignez-nous