Voir ci-joint l'explication de mon problème,
Merci
Voir ci-joint l'explication de mon problème,
Merci
Y'a pas de pièce jointe...
~ Lola ~
Il s'agit d'une simple UNION avec des colonnes vides dans chacun des SELECT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SELECT tb1.id , tb1.nom , tb1.prenom , '' AS ref , '' AS id , '' AS fonction FROM table_1 tb1 UNION SELECT '' AS id , '' AS nom , '' AS prenom , tb2.ref , tb2.id , tb2.fonction FROM table_2 tb2
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
Merci infiniment al1_24 , je peux utilisé cette sélection dans une requête d'insertion ?!
Il suffit d'essayer...
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
Voila j'ai essayé d’insérer les ligne dans une table D avec 6 champs (a,b,c,d,e,f) déjà créer, et ça donne un message d'erreur sur access "Erreur de syntaxe dans l’instruction INSERT INTO":
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 INSERT INTO D ( SELECT tb1.ID , tb1.NOM , tb1.PRENOM , '' AS REF , '' AS ID , '' AS FONCTION FROM a tb1 ) UNION ( SELECT '' AS ID , '' AS NOM , '' AS PRENOM , tb2.REF , tb2.ID , tb2.FONCTION FROM b tb2 ) ;
Tu n'utilises pas la bonne syntaxe pour l'insert --> ce tuto t'expliquera comment faire.
~ Lola ~
perso je trouve sa syntaxe bonne (sauf peut-etre une inversion entre nom/id dans la 2eme requete).
Le probleme va plutot se situer sur la partie "access".
il faudrai que vous reboucliez avec la doc de ce dernier pour voir ce qui est faisable ou non avec access
=> au pire faites 2 insert différents
Mauvais syntaxe dans le sens où les parenthèses après le nom de la table peuvent prêter à confusion :
INSERT INTO MaTableA (MesColonnes) SELECT MesColonnes FROM MaTableBPeut-être que mettre les select dans une sous-requête résoudrait le problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 INSERT INTO MaTable SELECT * FROM ( SELECT a, '' b FROM MaTableA UNION SELECT '' a, b FROM MaTableB )
~ Lola ~
Et comme ça ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 INSERT INTO D ( a, b, c, d, e, f) ( SELECT tb1.ID , tb1.NOM , tb1.PRENOM , '' AS REF , '' AS ID , '' AS FONCTION FROM a tb1 UNION SELECT '' AS ID , '' AS NOM , '' AS PRENOM , tb2.REF , tb2.ID , tb2.FONCTION FROM b tb2 ) ;
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
j'ai precisé les champs de la table D dans l'instruction insert into mais ça donne toujours une erreur de syntaxe :
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 insert into d (a,b,c,d,e,f) values ( (SELECT tb1.ID , tb1.NOM , tb1.PRENOM , '' AS REF , '' AS ID , '' AS FONCTION FROM a tb1) UNION (SELECT '' AS ID , '' AS NOM , '' AS PRENOM , tb2.REF , tb2.ID , tb2.FONCTION FROM b tb2) ) ;
Il ne faut pas mettre le VALUESquand il y a un SELECT
~ Lola ~
Merci al1_24, pour votre modification ça donne toujours un problème de syntaxe..., je tien a signaler que j’exécute cette requête dans MS ACCESS.
Merci
Et avec ma technique ? De mettre en sous-requête les deux requêtes.
~ Lola ~
avec une jointure je pense pas que ça va donné les résultat voulu (voir le tableau joint en haut), je vais tester la requête avec jointure et je poste le résultat.
Merci
Vous pouvez essayer un full outer join :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT lesColonnesVoulues FROM tb1 FULL OUTER JOIN tb2 ON (1=0)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager