Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/01/2011, 13h48   #1
Invité de passage
 
Inscription : novembre 2008
Messages : 2
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 2
Points : 0
Points : 0
Par défaut Combiner INSERT INTO .. SELECT et VALUES

Bonjour,

Je suis sous MySQL 5 et je souhaite faire une requête en insertion dans une table avec pour un champ de celle-ci des valeurs provenant d'une autre table et pour un autre champ une valeur fixe.

J'ai résumé mon problème avec le modèle suivant
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
CREATE TABLE `source` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`user_id` INT NOT NULL ,
`tri` TEXT NOT NULL
) ENGINE = MYISAM ;
 
 
CREATE TABLE `cible` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_cible_id` int(11) NOT NULL,
  `group_id` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE = MYISAM ;
j'ai vu la syntaxe suivante dans les tutoriels
Code :
1
2
3
4
5
 
INSERT INTO table2 (id_categorie, val_max)
SELECT categorie, MAX(valeur)
FROM table1
GROUP BY categorie
http://mysql.developpez.com/faq/?pag...ertion_requete

Problème comment combiner dans l'INSERT du SELECT et des valeurs "fixes".
Comme
Code :
1
2
3
 
INSERT INTO cible (user_cible_id, group_id)
SELECT user_id FROM source , '12'
sacha1208 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 14h00   #2
Membre émérite
 
Inscription : août 2008
Messages : 835
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 835
Points : 823
Points : 823
Bonjour,

Si j'ai bien saisi votre demande, comme ceci :
Code :
1
2
INSERT INTO cible (user_cible_id, group_id)
SELECT user_id, 12 AS group_id FROM source
Si le group_id est bien déclaré de type nombre, vous n'avez pas besoin de mettre des ' autour du 12.
Snipah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 14h12   #3
Invité de passage
 
Inscription : novembre 2008
Messages : 2
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 2
Points : 0
Points : 0
Par défaut Merci

Effectivement j'avais pas pensé à utiliser un alias !!
celà marche merci beaucoup
sacha1208 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 16h32   #4
Membre émérite
 
Inscription : août 2008
Messages : 835
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 835
Points : 823
Points : 823
De rien, ça devrait marcher également sans l'alias, mais c'est toujours plus lisible d'en utiliser un
Snipah est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h05.


 
 
 
 
Partenaires

Hébergement Web