Fusionner trois tables (résolu)

Fusionner trois tables (résolu) - SQL/NoSQL - Programmation

Marsh Posté le 24-05-2005 à 20:48:17    

Hello!
 
J'ai actuellement trois tables A, B et C.
A (RefA, NomA, PrixA)
B (RefB, NomB, PrixB)
C (RefC, NomC, PrixC)
 
J'aimerais les fusionner dans une table PRODUIT à l'aide d'une requête SQL.
Voilà ce que j'ai essayé:

SELECT A.* FROM A
UNION SELECT B.* FROM B
UNION SELECT C.* FROM C
INTO PRODUIT FROM A, B, C;


Access m'affiche alors une erreur concernant la syntaxe de la clause FROM. Si j'enlève la dernière clause FROM, ça ne marche pas non plus.
 
Par contre, si j'enlève la dernière ligne de façon à interroger les tables sans y toucher, la requête fonctionne comme je le veux. Elle affiche une liste de l'ensemble des produits A, B et C avec leur prix respectifs. Mais comment faire de cette liste une nouvelle table?
 
D'avance merci.


Message édité par Cutter le 25-05-2005 à 17:15:00

---------------
last.fm
Reply

Marsh Posté le 24-05-2005 à 20:48:17   

Reply

Marsh Posté le 24-05-2005 à 22:47:04    

Help, c'est assez urgent (pour demain matin de préférence). :/


Message édité par Cutter le 24-05-2005 à 22:55:22

---------------
last.fm
Reply

Marsh Posté le 24-05-2005 à 23:12:48    

T'as essayé
 
INSERT INTO PRODUIT FROM
(
SELECT A.* FROM A
UNION SELECT B.* FROM B
UNION SELECT C.* FROM C  
)

Reply

Marsh Posté le 25-05-2005 à 01:32:46    

Non, mais ça suppose que la table Produit est déjà crée non? J'ai besoin de créer la table à partir de la requête.
 
Je devrais peut-être essayer ça?

SELECT ALL FROM
(SELECT A.* FROM A
UNION SELECT B.* FROM B
UNION SELECT C.* FROM C)
INTO PRODUIT FROM A, B, C;


:??:


---------------
last.fm
Reply

Marsh Posté le 25-05-2005 à 13:08:09    

INSERT INTO PRODUIT
(
SELECT *  
FROM A
UNION
SELECT *
FROM B
UNION
SELECT *
FROM C
)

Reply

Marsh Posté le 25-05-2005 à 13:11:17    

Cutter a écrit :

Non, mais ça suppose que la table Produit est déjà crée non? J'ai besoin de créer la table à partir de la requête.
 
Je devrais peut-être essayer ça?

SELECT ALL FROM
(SELECT A.* FROM A
UNION SELECT B.* FROM B
UNION SELECT C.* FROM C)
INTO PRODUIT FROM A, B, C;


:??:


 
Tes requêtes sont archi fausse! il n'y a rien de juste! on dirait parfois que c'est un mélange d'SQL et de PL/SQL (ORACLE)!  
 
les requête d'insertion ne se font en aucun cas avec des select, sauf éventuellement comme je j'ai fait juste aussi au dessus pour la valeur des colonnes!  
 
Donc en résumé:
pour inséré dans une table: INSERT INTO NOMTABLE (...);
pour updaté dans une table: UPDATE NOMTABLE SET ...;
pour sélectionné dans une table : SELECT * FROM NOMTABLE;

Reply

Marsh Posté le 25-05-2005 à 14:37:29    

eventuellement, mais c'est moche,
faire un :
create table produit
as select...

Reply

Marsh Posté le 25-05-2005 à 17:14:34    

Problème résolu. Voici la requête:

SELECT * INTO PRODUIT
FROM (SELECT A.* FROM A
UNION SELECT B.* FROM B
UNION SELECT C.* FROM C)


---------------
last.fm
Reply

Marsh Posté le 25-05-2005 à 18:43:04    

c'est bizzare comme requête je trouve! enfin moi je n'ai jamais programmé de la sorte en sql! mais tant mieux si ça marche! mais ne compte pas que ce genre de chose sur une base de donnée un peu plus sérieuse que access (comme oracle par exemple)

Reply

Sujets relatifs:

Leave a Replay

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