[oracle] vue sur plusieurs tables a la structure identique

vue sur plusieurs tables a la structure identique [oracle] - SQL/NoSQL - Programmation

Marsh Posté le 26-04-2007 à 18:14:32    

Hello,
 
je decouvre tout juste les vues mais je me demande si elles me permettent de faire ce que je souhaites:
 
j'ai 3 tables aux structures strictement identique et j'aimerai faire une vue qui fusionnerai le contenu de ces dernieres.
 

Citation :

CREATE VIEW membres(champs1,champs2)
AS SELECT *
FROM membres,membres_uk;


 
ca me renvois:
 
invalid number of columns name specified
c'est pas tres etonnant vu que  
SELECT *
FROM membres,membres_uk; renvois les champs en doublons.
 
Vous savez comment je doit m y prendre ?
 
 
Merci


Message édité par veryfree le 26-04-2007 à 18:15:26
Reply

Marsh Posté le 26-04-2007 à 18:14:32   

Reply

Marsh Posté le 26-04-2007 à 18:25:45    

create view membres as
select a.champ champ1, b.champ champ2 from membres a, membres_uk b;

Message cité 1 fois
Message édité par couak le 26-04-2007 à 18:27:20
Reply

Marsh Posté le 26-04-2007 à 20:16:22    

couak a écrit :

create view membres as
select a.champ champ1, b.champ champ2 from membres a, membres_uk b;


 
n'importe quoi...
 
Si tu veux fusionner les données, faut faire un UNION
 
SELECT *
FROM membres
UNION
SELECT *
FROM membres_uk

Reply

Marsh Posté le 26-04-2007 à 22:15:34    

je dirais même un "union all" plutot

Reply

Marsh Posté le 26-04-2007 à 23:51:20    

C'est quoi la différence :??:

Reply

Marsh Posté le 27-04-2007 à 10:38:08    

UNION : supprime les doublons
UNION ALL : ne supprime pas les doubons
 
=> Intérêt : UNION ALL est infiniment plus rapide
 
Sinon, je te conseille de jeter un oeil ici, histoire de piger l'utiliser d'ajouter un champ "tbl" et voir si ça t'intéresse. Je ne peux que te le recommander.
http://forum.hardware.fr/hfr/Progr [...] 3605_1.htm

Reply

Marsh Posté le 27-04-2007 à 17:16:07    

MagicBuzz a écrit :

UNION : supprime les doublons
UNION ALL : ne supprime pas les doubons
 
=> Intérêt : UNION ALL est infiniment plus rapide
 
Sinon, je te conseille de jeter un oeil ici, histoire de piger l'utiliser d'ajouter un champ "tbl" et voir si ça t'intéresse. Je ne peux que te le recommander.
http://forum.hardware.fr/hfr/Progr [...] 3605_1.htm


 
 
Merci beaucoup pour ton aide.
J'ai pu créé ma vue sans soucis.
J'ai lié 3 tables pour le moment mais tres vite il y en aura une 10 ene !
 
voila comment je m y suis pris:
 

Citation :

CREATE VIEW membres_all(ID,VALIDE,EMAIL,PASS,...)
AS
SELECT * FROM MEMBRES
UNION ALL
SELECT * FROM MEMBRES_UK
UNION ALL
SELECT * FROM MEMBRES_DE


 
j'espere ne pas avoir faire de betises =)
 

Reply

Sujets relatifs:

Leave a Replay

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