[MySQL] Faire un SELECT ... UNION ......

Faire un SELECT ... UNION ...... [MySQL] - SQL/NoSQL - Programmation

Marsh Posté le 14-04-2004 à 10:44:44    

Bonjour,
 
Voilà je voudrai savoir s'il existe une façon de faire une requete du genre :
 
SELECT Liste_champs from table1 UNION SELECT la_meme_Liste_champs from table2 where condition order by un_champs;
 
mais sans se servir de la clause UNION qui n'est pas géré sur la version MySQL de notre serveur web (3.23). Bien sur on peut mettre cette version a jour (UNION est géré dans mysql 4 et +) mais si je pouvais éviter ca pour le moment ca m'aiderai bien.
 
Merci du coup de main.
 


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 14-04-2004 à 10:44:44   

Reply

Marsh Posté le 15-04-2004 à 13:09:57    

[:nikko]  
 
Bon sinon bah pour la mise a jour vous me conseillez quoi (c'est sur un serveur linux) mise à jour ou effacement/réinstall avec import export de données ?


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 15-04-2004 à 13:19:24    

tu peut faire 2 requetes séparé et mettre le tout dans une mm table sinon je voit pas...
 
pour faire la mise à jour sql y a les rpm pour faire simple.
 
sinon sauvegarde le dossier /var/lib/mysql ( y a tes tables dedans) et ensuite met a jour ( histoire d'etre sur de ne pas perdre les tables)

Reply

Marsh Posté le 15-04-2004 à 13:42:47    

ok merci ! En fait je m'y connais pas des masses en installation sur linux mais mon boss m'a dit que les rpm ne marcheraient peut etre pas sur la distrib qu'ils ont sur ce serveur donc je devrai peut etre me débrouiller avec des installe binaires. Quelque chose de particulier a signaler a ce sujet ?


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 15-04-2004 à 13:46:48    

personnelement je n'ai jamais touché a mysql ( j'suis sous mandrake) alors je peut juste te conseiller de sauvegarder les dossier de /var/lib/mysql qui sont tes BdD

Reply

Marsh Posté le 15-04-2004 à 13:47:35    

tables systèmes comprises ?


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 15-04-2004 à 20:27:45    

y a un moyen détourné de faire un union avec mySql 3 :
 
http://jinxidoru.com/tutorials/union.html
 
Je l'ai mis en oeuvre récemment, et ça marche très bien ;)

Reply

Marsh Posté le 16-04-2004 à 00:10:08    

merci !


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 22-10-2004 à 15:25:01    

j'ai un peu du mal avec ce Left join... pouvez vous m'aider ? :)
 

Code :
  1. SELECT u.id
  2. FROM user u
  3. LEFT JOIN user ON (u.active = 'yes' AND u.type='student')
  4. LEFT JOIN user ON (u.active = 'yes' AND u.type='child')
  5. Not unique table/alias: 'user'


 
apparement c'est seulement por losqu'on a 2 tables differents ? Alors comment faire un Union en MySql 3.x ? :(


Message édité par Alysum le 22-10-2004 à 15:36:25
Reply

Marsh Posté le 22-10-2004 à 15:39:34    

# SELECT u.id
# FROM user u, user ub
# LEFT JOIN user ON ( u.active = 'yes' AND  u.type='student')
# LEFT JOIN user ON (ub.active = 'yes' AND ub.type='child')

Reply

Marsh Posté le 22-10-2004 à 15:39:34   

Reply

Marsh Posté le 22-10-2004 à 15:41:10    

ca renvoit le meme message d'erreur :/

Reply

Marsh Posté le 22-10-2004 à 15:50:09    

en plsu ton message d'erreur ne me parle pas du tout :/

Reply

Marsh Posté le 22-10-2004 à 15:52:13    

je crois que la raison de ce message d'erreur est que le second left join doit etre une autre table :(

Reply

Marsh Posté le 22-10-2004 à 16:05:54    

avant de te lancer là-dedans, dis clairement ce que tu veux que la requête renvoie au final.
 
Parce que j'ai l'impression que tu te compliques la vie unitilement ... vouloir faire une union sur une même table, je vois pas le but ... on peut le gérer avec des OR.

Reply

Marsh Posté le 23-10-2004 à 09:52:28    

Oui c'est bon j'ai tape sur ma tete un peu, je savais pas que c'etait possible de mettre le OR entre parentheses dans la clause Where :)

Reply

Sujets relatifs:

Leave a Replay

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