Insert Into avec condition

Insert Into avec condition - SQL/NoSQL - Programmation

Marsh Posté le 19-12-2017 à 15:45:14    

Bonjour,
 
J'ai deux tables dans deux bases différentes :
 
wp_usermeta sur la base wordpress_main
jeu_user sur la base jeu
 
wp_usermeta contiens les colonnes suivantes qui m'intéressent :
 
user_id | meta_key | meta_value
 
1           first_name      Marco
1           last_name       Polo
1           description
2           first_name      Frank
2           last_name      Estein
2           description
 
et jeu_user
 
ID | prenom
 
1
2
 
Je cherche donc à insérer le prénom que je récupère dans meta_value que je récupère en rapport à la meta_key "First_Name et pour l'user ID correspondant.
 
Voilà comment je vois les choses :
 

Code :
  1. INSERT INTO jeu.jeu_user (`prenom`) SELECT (`meta_value`) FROM wordpress_main.wp_usermeta
  2. WHERE wordpress_main.wp_usermeta.meta_key = "first_name" && wordpress_main.wp_usermeta.user_id=jeu.jeu_user.ID;


 
Mais j'obtiens celà :
 
#1054 - Champ 'jeu.jeu_user.ID' inconnu dans where clause
 
Après avoir testé sans le

Code :
  1. && wordpress_main.wp_usermeta.user_id=jeu.jeu_user.ID

la commande fonctionne, mais naturellement le prénom n'est pas lié a un ID et est inséré sous la forme d'une nouvelle ligne.
 
Je précise que je suis inexpérimenté en SQL, je connais simplement les bases et elles commencent à dater :(. Je pense donc que je n'ai pas le bon raisonnement ou que la syntaxe que j'utilise est mauvaise.
 
Toute aide sera appréciée  :jap:  
 
Merci d'avance

Reply

Marsh Posté le 19-12-2017 à 15:45:14   

Reply

Marsh Posté le 20-12-2017 à 08:48:21    

Le problème vient du fait que la table jeu.jeu_user n'est pas spécifiée dans la clause FROM.

 

Elle devrait ressembler à ceci :

 
Code :
  1. (...) FROM wordpress_main.wp_usermeta INNER JOIN jeu.jeu_user ON wordpress_main.wp_usermeta.user_id = jeu.jeu_user.ID (...)
 

edit: et vire ensuite le

 

&& wordpress_main.wp_usermeta.user_id=jeu.jeu_user.ID;

 

dans le WHERE, il ne sert plus à rien avec la jointure


Message édité par Harkonnen le 20-12-2017 à 09:26:54

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed