"concatener" deux tables.

"concatener" deux tables. - SQL/NoSQL - Programmation

Marsh Posté le 14-07-2008 à 12:24:55    

bonjour à tous!
 
j'ailmerais faire un site sur les oiseau et stocker les données pour les fiches dans une BDD.
j'ai fait 2 table pour réunir les donées, j'aimerais bien savoir si on peut construire une nouvelle table contenant l'intégralité des donées des deux en enlevant les doublons avec phpmyadmin et comment faire?
 
merci à vous! :)

Reply

Marsh Posté le 14-07-2008 à 12:24:55   

Reply

Marsh Posté le 14-07-2008 à 14:56:29    

Insert into "TableFinal" (c1,c2,c3,c4..)
Select c1,c2,c3,c4.. FROM T1  
UNION
(Select c1,c2,c3,c4.. FROM T2 )
 
 
A tester, je suis pas certain


Message édité par antac le 14-07-2008 à 14:56:48
Reply

Marsh Posté le 14-07-2008 à 17:39:35    

ça dépend la structure.  
Puis ça dépend aussi le pourquoi. Si c'est juste pour de l'affichage dans un site, une bonne query SQL suffira amplement.

Reply

Marsh Posté le 15-07-2008 à 13:51:03    

UNION ALL pour éviter le ORDER BY et le DISTINCT intrinsèque au mot clé UNION, qui ralentissent très fortement la requête.
 
-- Ah nan, faut enlever les doublons, j'ai rien dit :D


Message édité par MagicBuzz le 15-07-2008 à 13:51:34
Reply

Marsh Posté le 26-07-2008 à 13:20:57    

en fait, je fait un site sur les perroquets, et j'ai séparé toutes les données en 2.
j'ai fait un code commun aux deux tables et j'utilise ca comme requête, parrotd1 et parrotd2 étant les deux tables:  
 
SELECT * FROM parrotd1, parrotd2 WHERE parrotd1.code = '$code' AND parrotd2.code = '$code'
 
le distinct ne me vire pas le code en trop, en tout cas il est affiché 2 * sur myadmin, encadré en jaune. est ce que ca veut dire que le doublon serait éliminé?
 
sauf que voilà: j'aimerais bien trier le résultat en fonction d'un paramètre "population" qui ne figure que sur la deuxième table, et je commence à trouver ca lourd de le mettre sur la première table.
 
alors: peut on utiliser ORDER BY sur un énum?
peut on faire la requête suivante:
SELECT esp_fr FROM parrotd1, parrotd2 WHERE parrotd1.code = '$code' AND parrotd2.code = '$code' ORDER BY population
 
merci bien à vous!

Reply

Marsh Posté le 28-07-2008 à 08:46:10    

C'est quoi les champs de tes tables parceque là je pense que c'est ton schéma de base de données qui est à revoir.

Reply

Sujets relatifs:

Leave a Replay

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