Transferer données précises vers une autre table en fonction d'un ID

Transferer données précises vers une autre table en fonction d'un ID - SQL/NoSQL - Programmation

Marsh Posté le 20-01-2012 à 12:07:09    

Bonjour,  
 
 
Je bloque sur une requête SQL pour transferer une donnée particulière d'une table vers une autre...
 
Je veux transférer les données d'une table nommée Profiles, mais seulement la colonne ZIP vers une table nommée Comprofiler, sur la colonne ZIPCODE...
 
Tout ceux-ci en fonction d'un ID :
 
Ancienne table PROFILES
ID
ZIP
 
Nouvelle table COMPROFILER
id
ZipCode
 
Pouvez-vous m'aider :-/  
 
Merci à vous.

Reply

Marsh Posté le 20-01-2012 à 12:07:09   

Reply

Marsh Posté le 20-01-2012 à 14:15:17    

INSERT COMPROFILER (ID, ZipCode)
SELECT ID, ZIP FROM PROFILES WHERE blah blah

Reply

Marsh Posté le 23-01-2012 à 10:10:55    

Merci pour ta réponse Oliii !
 
Par contre le blahblah après le WHERE me fait sécher... LoL ...
 
Quelle condition dois-je mettre après ce WHERE ?
 
Désolé, je suis vraiment pas expert en SQL, et ma seule condition WHERE que je verrai c'est que l'ID de chaque table correspondent ensemble... Mais je vois pas comment le faire :-)
 
Mercid e ton aide.

Reply

Marsh Posté le 23-01-2012 à 10:40:17    

En fait la valeur ID existe déja dans la table de destination, du coup j'ai une erreur DUPLICATE ENTRY...
 
Les ID sont identiques dans les 2 Tables, donc aucun besoin de les remplacer, ou au contraire, ils peuvent être écrasés sans aucun problème...

Reply

Marsh Posté le 23-01-2012 à 13:05:23    

Tu peux faire un UPDATE alors:
UPDATE COMPROFILER
   SET ZipCode = b.ZIP
FROM COMPROFILER a
   JOIN PROFILES b ON a.ID = b.ID
 
Ca va mettre a jour tout les ZIPCODE des enregistrements qui ont un ID en commun dans les deux tables.

Reply

Marsh Posté le 23-01-2012 à 13:29:00    

Ah ouais... Autant que ça ^^ Autant te dire que je comprend que la moitié, mais je te remercie de prendre du temps pour moi c'est vraiment sympa de ta part.
 
Bref, ca ne marche pas, pour des raisons de simplicité j'ai renommé les tables et les id et zicode à l'identique pour les deux :
 
Ancienne table : friend_profiles
Nouvelle table : friend_comprofiler
 
Ancien ID : id
Nouvel ID : id
 
Ancien ZIP : zipcode
Nouveau ZIP : zipcode
 
Le code que tu m'a filé arrangé :
 
UPDATE friend_comprofiler  
SET zipcode = b.zipcode  
FROM friend_comprofiler a  
JOIN friend_profiles b ON a.id = b.id  
 
L'erreur retourné :
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM friend_comprofiler a JOIN friend_profiles b ON a.id = b.id' at line 3
 
LoL... J'éspère que ca va pas te gaver, la prochaine c'est la bonne :-) Je sais que tu es pas loin, j'aurai jmais trouvé ce genre de code :p
 

Reply

Marsh Posté le 23-01-2012 à 16:19:24    

Ah oui la ce n'est plus qu'une erreur de syntax MySQL (la syntax ici fonctionne sur SQL Server).
Jette un oeuil du coté de l'aide pour les JOIN de MySQL, il doit manquer un bete mot. Je n'ai pas de MySQL pour tester donc je ne saurai pas t'aider plus :(

Reply

Marsh Posté le 09-02-2012 à 18:26:55    

Rhhoooolala j'ai toujours pas réussi à trouver !!! :-(
 
Le code SQL en question :  
 
UPDATE friend_comprofiler  
SET zipcode = b.zipcode  
FROM friend_comprofiler a  
JOIN friend_profiles b ON a.id = b.id  
 
Visiblement il y'a un probleme de syntaxe SQL... Surement des guillemets ou autre, car la commande est bien JOIN... JOIN INNER ne fonctionne pas non plus
 
Si quelqu'un peut m'aider ca serait super mega cool, je vais craquer

Reply

Marsh Posté le 09-02-2012 à 18:27:33    

Je comprends pas le "a" et le "b" dans cette formule magique !!!! :'(

Reply

Sujets relatifs:

Leave a Replay

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