Requete SQL... Help!!!!

Requete SQL... Help!!!! - SQL/NoSQL - Programmation

Marsh Posté le 20-11-2007 à 19:41:43    

Help!  :pt1cable:  
J'ai besoin d'afficher les entrées avec une seule fois le champs matiere (en gros un DISTINCT) et je veux n'avoir que la première entrée de chaque champs. Je sais ce que je viens de dire n'est pas super clair :euh: ...
Bon je vais donner un exemple.
 
Un extrait de ma table (elle s'appelle "pages" ):
http://www.siteduzero.com/uploads/fr/files/92001_93000/92716.png
 
Et je veux avoir comme résultat:
 
id.....nom.............................................................matiere.............page...........redirection
1......L'univers de la bd........................................Flash...................bd................non
6......Affiche de film imaginée sur l'iut....Infographie.........affiche.........non
 
C'est à dire que j'ai que la premiere page de chaque matiere... (mais avec toutes les infos des entrées affichées).
Si quelqu'un pouvais m'aider a trouver la requete...
Merci d'avance! :D

Reply

Marsh Posté le 20-11-2007 à 19:41:43   

Reply

Marsh Posté le 20-11-2007 à 22:49:10    

en mysql, y'a une instruction (propriétaire) FIRST() je crois.
 
donc un truc du genre devrait marcher :

Code :
  1. SELECT first(nom) premiernom, matiere
  2. FROM pages
  3. GROUP BY matiere


 
après je te laisse potasser la doc pour voir la syntaxe exacte.
 
pour une solution plus générale en SQL92, c'est plus chaud. j'ai passé quelques heures à trouver une solution à ce problème (c'était pas le premier, mais les X premiers) la semaine dernière dans un autre topic, essaie de le retrouver si tu peux.

Reply

Marsh Posté le 20-11-2007 à 22:52:31    

http://forum.hardware.fr/hfr/Progr [...] 9378_1.htm
 
En fait, la solution "SQL92" n'est pas supportée pour MySQL, ca ça fait appel à des fonctions qu'il ne supporte pas me semble-t-il (partitionnement).
 
Donc j'ai aussi pondu un script T-SQL (Microsoft SQL Server) facilement adaptable en MySQL (=> 5.1) normalement si tu t'en sors pas avec la clause FIRST (ou si elle ne permet pas de trouver ce que tu cherches)


Message édité par MagicBuzz le 20-11-2007 à 23:01:24
Reply

Marsh Posté le 20-11-2007 à 23:05:54    

super ça marche!
merci!!!!

Reply

Sujets relatifs:

Leave a Replay

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