[mySQL] Comment fusionner 2 tables ? (bis) [résolu]

Comment fusionner 2 tables ? (bis) [résolu] [mySQL] - SQL/NoSQL - Programmation

Marsh Posté le 28-02-2005 à 17:04:15    

Salut à tous,
 
J'ai un petit soucis concernant la fusion de 2 tables mySQL (sous mySQL 3.23.39).
 
Je m'explique :
- j'ai 2 tables contenant un certain nombre de champs, et possédant 2 champs en commun (TABLE1 et TABLE2 ont toutes les 2 les champs Date et Type)
- après avoir effectué un  
     - SELECT DISTINCT Date FROM TABLE1 WHERE Type=4
     - SELECT DISTINCT Date FROM TABLE2 WHERE Type=4
- je souhaiterais récupérer une table contenant les données de mes 2 requetes (pour faire un nouveau DISTINCT sur le champ Date)
 
Est-ce possible en utilisant que du SQL (càd sans utiliser la notion de tableau de php) ?
 
Merci de votre aide.


Message édité par jaddes le 02-03-2005 à 16:23:28
Reply

Marsh Posté le 28-02-2005 à 17:04:15   

Reply

Marsh Posté le 28-02-2005 à 17:12:25    

select distinct date
from
(select date from table1 where type = 4
union
select date from table2 where type = 4)
?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 28-02-2005 à 17:25:59    

ça passera pas avec mySql 3.XX ...
 
un moyen serait d'insérer toutes les dates dans une table temporaire et ensuite de faire le SELECT DISTINCT sur cette table temporaire.

Reply

Marsh Posté le 28-02-2005 à 17:31:45    

Beegee a écrit :

ça passera pas avec mySql 3.XX ...


Ah oui merde...[:joce]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 01-03-2005 à 17:09:55    

Merci pour ces quelques réponses.
 
- Ce que j'ai essayé de faire (et qui marche), c'est d'insérer les données de la table 1 dans la table 2.
    -> Le pb c'est que du coup m'a table 1 est modifiée (et je ne veux pas)
 
- j'ai aussi essayé un truc du genre INSERT INTO (SELECT ... FROM table1 WHERE ...) FROM (SELECT ... FROM table2 WHERE ...)
    -> en revanche ça, ça ne fonctionne pas du tout  
 
Je continue de rechercher.  

Reply

Marsh Posté le 01-03-2005 à 18:47:08    

CREATE TABLE TEMPTABLE (Date ...)
 
INSERT INTO TEMPTABLE SELECT Date FROM Table1;
INSERT INTO TEMPTABLE SELECT Date FROM Table2;
 
SELECT DISTINCT Date FROM TEMPTABLE;

Reply

Marsh Posté le 02-03-2005 à 08:36:36    

Est-ce une obligation de créer une table dans la base ou est-ce possible de faire sans ???
 
En tout cas merci

Reply

Marsh Posté le 02-03-2005 à 10:35:33    

dans ce cas précis, oui, puisque tu ne veux pas faire le traitement dans le code php ..

Reply

Marsh Posté le 02-03-2005 à 11:13:15    

Bon ben je vais faire avec alors.
 
Merci beaucoup de ta réponse (rapide). @+

Reply

Sujets relatifs:

Leave a Replay

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