Titre: requete sql
Posté par: Raptor le le 08-12-2003 a 12:46:26
salut a tous
voila mon probleme
j'ai une table appelée matable(id,titre,description,type); par exemple
je voudrai recuperer le dernier tuple pr chake 'type'
par exemple le dernier enregistrement ayant pr type = 1, le dernier pr type=2, etc...
tout cela si possible en une rekete, car c'est mon objectif
bonne journée a tous |
Titre: Re:requete sql
Posté par: erwinol le le 08-12-2003 a 15:27:05
pfff y en a qui connaissent pas la normalisation des tables ... enfin bon on va essayer de faire avec.
Tu fais un GROUP BY type avec un where $id
Code:
SELECT * FROM matable GROUP BY type HAVING max(id)
|
|
Pour avoir un enregistrement par type tu fais un group by type. La clause HAVING sert à donner une condition au groupe, et non à la requête.
Je suis pas persuadé que ça fonctionne mais le meilleur moyen c'est d'essayer. |
Titre: Re:requete sql
Posté par: Raptor le le 08-12-2003 a 16:04:57
c pas ca du tout :) ca aurait été trop beau
j'ai 10 enregistrement dans ma table 5 de type 1 , 3 de type 2 et 2 de type 2 par exemple soit en gros :
id | titre | type 1 | blabla1 | 1 2 | blabla2 | 1 3 | blabla3 | 1 4 | blabla4 | 1 5 | blabla5 | 1 6 | blabla6 | 2 7 | blabla7 | 2 8 | blabla8 | 2 9 | blabla9 | 3 10| blabla10 | 3
et donc moi je voudrais avoir en une seule requete 5 blabla5 1 8 blabla8 2 10 blabla10 3
je veux pas avoir de $id ou autre, si j'avais a faire ca en plusieurs requetes avec des variable php j'aurais pas pris la peine de poster, je connais quand meme un minimum le php.
J'ai poster ce probleme dans une 10 aine de forum, je n'ai pour l'instant aucune réponse valable
merci quand meme |
Titre: Re:requete sql
Posté par: trounday le le 08-12-2003 a 18:42:58
Ben tu peux peut-être incrementer ta requete suivant le champs type et tu selectionnes l'id le plus grand. Enfin moi je ne sais pas si ça peut marcher ce n'est qu'un hypothese mais essaye.
Trounday |
Titre: Re:requete sql
Posté par: trounday le le 08-12-2003 a 18:52:03
Code:
for ($i = 0; $i > 0; $i++) { $requete = mysql_query (" SELECT MAX(id) AS id FROM matable WHERE type='$i' "); }
|
|
Je pense que ça peut être une solution mais je ne vois pas pourquoi la solution d'erwinol ne va pas ? Essaye avec ça je ne te garanti rien c'est même surement faut mais bon je ne sais pas non plus comment faire |
Titre: Re:requete sql
Posté par: erwinol le le 08-12-2003 a 19:08:29
Ben je pense que ma méthode devrait marcher. Tu l'as au moins essayée ?? Tu obtiens quel résultat avec ma requete ? Donne des précisions et j'essayerai de modifier la requete. |
Titre: Re:requete sql
Posté par: trounday le le 08-12-2003 a 20:11:21
Ecoute non je n'ai pas pu verifier ce script ni même le tiens mais je pense qu'il peut être juste mais d'après mes connaissances. Donc on est jamais sur de rien. A+ Trounday |
Titre: Re:requete sql
Posté par: erwinol le le 09-12-2003 a 11:52:48
c pas ca du tout :) ca aurait été trop beau
|
|
| Ecoute non je n'ai pas pu verifier ce script ni même le tiens |
|
Ben il faudrait te mettre d'accord ! Tu dis que ma requete ne fonctionne pas et ensuite tu dis que tu n'as même pas essayé.
| mais d'après mes connaissances |
|
??? Moi j'ai pas de connaissances peut-être ? Je suis presque sûr que ma requête marche. Celle de trounday va marcher également mais il est préférable de tout faire en une requete sinon tu vas surcharger mysql. |
Titre: Re:requete sql
Posté par: Raptor le le 09-12-2003 a 11:58:00
lu erwinol
je suis bien l'auteur de ta premiere citation, mais pas des deux autre lol, t'as fait un amalgame :)
j'ai essayer ta rekete, je te met le resultat : rien :)
enfinc a renvoi aucun champs |
Titre: Re:requete sql
Posté par: trounday le le 09-12-2003 a 12:20:09
Ola ola doucement... il y a trois personne sur ce post: - Raptor - Erwinol - Trounday (moi-même)
Si je parle de mes connaissances c'est quelle ne sont pas très pointu et que surement vous êtes plus doué que moi en la matière, il n'y a aucun reproche. Et c'est moi qui ai dit que je n'avais pas tester ta methode car je pensais que ton post m'etait adressé.
Désolé d'avoir créé ce litige... ;D Trounday |
Titre: Re:requete sql
Posté par: erwinol le le 09-12-2003 a 19:15:46
| Non c'est de ma faute, j'ai tout mélangé ;D |
Titre: Re:requete sql
Posté par: trounday le le 09-12-2003 a 19:39:20
| Non vraiment j'insisite je ne voulais pas mon cher voyons voyons :-* |
Titre: Re:requete sql
Posté par: Raptor le le 10-12-2003 a 02:43:52
Titre: Re:requete sql
Posté par: erwinol le le 15-12-2003 a 20:45:43
et si tu fais
Code:
SELECT * FROM matable T1 WHERE T1.id >= ALL ( SELECT T2.id FROM matable T2 WHERE T2.type = T1.type ) GROUP BY T1.type
|
|
Je sais pas si les requetes imbriquées fonctionnent en SQL ??? |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|