Valeur la plus elevé entre plusieurs tables

Khalim
Invité n'ayant pas de compte PHPfrance

18 mai 2005, 15:52

Bonjour,
Je cherche la requete qui me permettra de récupérer la valeur max d'un champs que l'on retrouve dans plusieurs tables.

T1, T2 et T3 possèdent un champ nommé de la même façon dans les 3 tables : C1, le reste des champs est différent.
la valeur de ce champ pour un enregistrement, pour une table ne se retrouve jamais dans les autres.

Je bloque. Merci de toute aide.

Mammouth du PHP | 19672 Messages

18 mai 2005, 15:56

J'ai pas compris grand chose, mais pour trouver la valeur la plus grande dans la colonne d'une table, c'est :

Code : Tout sélectionner

SELECT MAX(`nom_champ`) FROM `table`
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

18 mai 2005, 16:04

lol
Je m'exprime mal GRRR
Pour sortir le max d'une table, c'est bon.

En fait j'aimerais trouver quel est le chiffre le plus grand dans un champ que l'on retrouve sur plusieurs tables.

Ex:
Le champs dans T1 contient : 10 , 25 , 33.
Le champs dans T2 contient : 11, 24, 68.
Le champs dans T3 contient : 15, 30, 56.

Et donc j'essaie avec juste une requete SQL de sortir '68'.
Sinon en combinant avec du PHP, je saurais réalisé, mais celà ne me satisfait pas vraiment.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

18 mai 2005, 17:34

Je n'ai pas bien le temps de vérifier, mais je te donne 2 idées :
- requêtes UNION (sont-elles acceptées par MySQL ?)
- constituer une table temporaire à partir des 3 autres et faire la recherche sur cette table.

ViPHP
ViPHP | 1380 Messages

19 mai 2005, 13:05

requêtes UNION (sont-elles acceptées par MySQL ?)
Oui depuis 4.0 et sup.

Je ne vois pas d'autres solutions non plus.

Code : Tout sélectionner

(SELECT col_1 FROM t_1) UNION (SELECT col_1 FROM t_2) UNION (SELECT col_1 FROM t_3) ORDER BY col_1 DESC LIMIT 1
Ne pas oublier les parenthèses sinon les clauses ORDER et LIMIT ne s'appliqueront pas à l'ensemble de l'union.
ripat

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

19 mai 2005, 15:16

La réponse ayant été fournie, je me permets de suggérer
que le modèle de données serait (peut-être) à revoir... ;)