Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1526 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [mysql] Joindre des tables [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[mysql] Joindre des tables [résolu]

n°340295
monsieur t​omate
Posté le 22-03-2003 à 01:47:58  profilanswer
 

Pour afficher la une de ma page d'accueil, je dois mixer mes tables contenant les infos pour les previews et les tests.
Les tables sont sous le format (simplifié -sachant que les deux tables ne comportent pas le même nombre de colonnes, bien entendu) :
tests :
ID
Titre
Date
 
previews :
ID
Titre
Date
 
Je voudrais pouvoir mixer les deux tables sur ces éléments-là afin de pouvoir sélectionner les 4 articles les plus récents. Bien entendu, il faut que le type de la table soit conservé (pour savoir s'il faudra ensuite faire un lien vers le progamme de tests ou de previews). Quelle est la méthode la moins gourmande en ressource pour y arriver ?


Message édité par monsieur tomate le 22-03-2003 à 11:57:47

---------------
HardGamers.org
mood
Publicité
Posté le 22-03-2003 à 01:47:58  profilanswer
 

n°340337
beleg
黑社會
Posté le 22-03-2003 à 11:25:32  profilanswer
 

select ID,Titre,Date,'tableA' from tableA
union
select ID,Titre,Date,'tableB' from tableB
order by date
 
quelque chose comme ca ...

n°340341
monsieur t​omate
Posté le 22-03-2003 à 11:37:33  profilanswer
 

après une petite verif, union ne fonctionne qu'à partir de mysql 4 et kom j'ai un serveur de merde, je n'ai que mysql 3.2 dessus...


---------------
HardGamers.org
n°340346
beleg
黑社會
Posté le 22-03-2003 à 11:49:49  profilanswer
 

tu fais deux requetes, tu colles les resultats ds un tableau, tu trie le tableau et voila ...

n°340347
mrbebert
Posté le 22-03-2003 à 11:50:42  profilanswer
 

Tu es exactement dans le cas qui nécessiterait un UNION [:proy]

n°340349
monsieur t​omate
Posté le 22-03-2003 à 11:51:07  profilanswer
 

ah wé, j'vais voir
 
sinon je regardais comment émuler la fonction union et g trouvé ça :
 
SELECT IFNULL(beta_tests.ID, beta_previews.ID) AS ID, IFNULL(beta_tests.titre, beta_previews.titre) AS titre
FROM _dummy AS D
LEFT JOIN beta_tests ON (D.num = 0)
LEFT JOIN beta_previews ON (D.num = 1)
WHERE D.num < 2
 
ça marche, mais çe ne me dit pas la différence entre la table preview et test, alors je vais essayer ta méthode


---------------
HardGamers.org
n°340350
mrbebert
Posté le 22-03-2003 à 11:52:54  profilanswer
 

C'est ce que je cherchais :D  
 
Si, tu sais de quelle table vient l'info, en fonction de la valeur de D.num :)

n°340351
monsieur t​omate
Posté le 22-03-2003 à 11:55:14  profilanswer
 

j'vais essayer de ce pas


Message édité par monsieur tomate le 22-03-2003 à 11:58:25

---------------
HardGamers.org
n°340353
monsieur t​omate
Posté le 22-03-2003 à 11:57:35  profilanswer
 

j'ai testé et ça marche :)
merci les gars !


Message édité par monsieur tomate le 22-03-2003 à 11:58:32

---------------
HardGamers.org

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [mysql] Joindre des tables [résolu]

 

Sujets relatifs
MySQL et Linux : déplacer le repertoire de stockage des bases ?Grave probleme de disque dur et MYSQL.
[Java] Client FTP [Résolu][Resolu] [C++] template et Visual Studio 6.0
[RESOLU] newb - pkoi cette erreur ???[résolu] ouvrir un fichier au travers d'HTTP
[PHP/MySQL] Sélectionner plusieurs valeurs d'un champs d'une tableMySQL et ODBC..... Gros problème !
Acces à une bdd Mysql en C++[C] parse error before '&' token [partiellement résolu]
Plus de sujets relatifs à : [mysql] Joindre des tables [résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR