Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: Raptor le le 08-12-2003 a 12:46:26

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

Citation de: Raptor le le 08-12-2003 a 16:04:57
c pas ca du tout :)
ca aurait été trop beau

Citation:
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é.
Citation:
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.