[SQL]Requete qui doit pas etre dur a faire mais euh... j'arrive pas :p

Requete qui doit pas etre dur a faire mais euh... j'arrive pas :p [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 24-02-2003 à 01:59:09    

Voila, en gros dans une table des trucs de ce type :
 
section / numero / donnee
 
genre :
1 1 bob
1 2 truc
2 1 plurk
2 2 caprout
2 3 machin
3 1 murk
3 2 kitrou
 
comme faire une requete pour avoir, pour chaque section, les donnees du dernier numero, donc avoir une requete qui pour cette exemple, me sort
1 2 truc
2 3 machin
3 2 kitrou
 
j'arrive pas :sweat:

Reply

Marsh Posté le 24-02-2003 à 01:59:09   

Reply

Marsh Posté le 24-02-2003 à 08:07:43    

-VDV- a écrit :

Voila, en gros dans une table des trucs de ce type :
 
section / numero / donnee
 
genre :
1 1 bob
1 2 truc
2 1 plurk
2 2 caprout
2 3 machin
3 1 murk
3 2 kitrou
 
comme faire une requete pour avoir, pour chaque section, les donnees du dernier numero, donc avoir une requete qui pour cette exemple, me sort
1 2 truc
2 3 machin
3 2 kitrou
 
j'arrive pas :sweat:  


 
le petit probleme c est que ta table n as pas d identifiant... ca ressemble plus a une association et dans ce cas il ne peut pas y avoir 2 noms differents pour un meme numero...

Reply

Marsh Posté le 24-02-2003 à 09:32:37    

peut ere un truc dans ce genre :
select * from tatable where section in (select distinct (section) from tatable) and numero=max(numero);
 
 :??:

Reply

Marsh Posté le 24-02-2003 à 09:43:44    

SELECT * FROM table tb1 WHERE numero=(SELECT MAX(numero) FROM table tb2 WHERE tb1.section=tb2.section)
 
Sa va dépendre aussi de ton SGBD


Message édité par thecoin le 24-02-2003 à 09:45:02

---------------
Si tu regardes ce que le canard mange, tu ne mangeras pas de canard.
Reply

Marsh Posté le 24-02-2003 à 11:26:20    

-VDV- a écrit :

Voila, en gros dans une table des trucs de ce type :
 
section / numero / donnee
 
genre :
1 1 bob
1 2 truc
2 1 plurk
2 2 caprout
2 3 machin
3 1 murk
3 2 kitrou
 
comme faire une requete pour avoir, pour chaque section, les donnees du dernier numero, donc avoir une requete qui pour cette exemple, me sort
1 2 truc
2 3 machin
3 2 kitrou
 
j'arrive pas :sweat:  


SELECT donnee
FROM matable  t1 where numero in (select max(numero) from matable t2 where t2.section=t1.section)
 
ca va marcher sous du sybase, pas pas certain que ca marche sous mysql. Il doit pas savoir faire d'imbrication de requetes. :)
 
Mince j'avais pas vu qu'il y avait dejà la reponse.  :cry:


Message édité par cinocks le 24-02-2003 à 11:29:35

---------------
MZP est de retour
Reply

Marsh Posté le 24-02-2003 à 14:33:54    

thecoin win  [:yaisse2]  
 
 
Bon alors ca marche ou pas  :??:


---------------
Si tu regardes ce que le canard mange, tu ne mangeras pas de canard.
Reply

Marsh Posté le 24-02-2003 à 18:29:15    

apparement ca passe pas [:zoutte]

Reply

Marsh Posté le 24-02-2003 à 20:59:31    

bin c normal, t'as qu'à utiliser un vrai SGBD!!  [:fuel]  
(oups, j'ai oublié d'encadrer ce message par [mode troll on] [mode troll off]   :jap: ]
 
bon sans rire, mysql ne gère pas les requêtes imbriquées, ou alors peut-être dans la dernière version béta il me semble
 
donc faut que tu transforme la requête imbriquée donnée en requête non imbriquée!

Reply

Marsh Posté le 24-02-2003 à 22:17:25    

Faut que tu fasses une boucle:
 
Select distinct section as sect from matable order by section
 
boucle pour tous les enregistrements{
   select max(numero) from matable where section=set
}
 
J'espere que je suis clair.


---------------
MZP est de retour
Reply

Marsh Posté le 24-02-2003 à 22:54:35    

:pfff:  
 
(bon je cherche une meilleure solution, mais j'ai vu que des idées de merde là :o)
 
edit: bon j'abandonne pour ce soir :D mais les requetes imbriquées ça pue :o


Message édité par the real moins moins le 24-02-2003 à 23:04:49
Reply

Marsh Posté le 24-02-2003 à 22:54:35   

Reply

Marsh Posté le 24-02-2003 à 23:02:57    

Je vous invite à lire cette page :
http://www.mysql.com/doc/en/exampl [...] p-row.html :)  
 
Mais faites le au calme, la deuxième solution est pas évidente la première fois qu'on la lit :pt1cable:

Reply

Marsh Posté le 26-02-2003 à 15:33:54    

mrBebert a écrit :

Je vous invite à lire cette page :
http://www.mysql.com/doc/en/exampl [...] p-row.html :)  
 
Mais faites le au calme, la deuxième solution est pas évidente la première fois qu'on la lit :pt1cable:  


 
WOW
Mais Mais
C'est quelle marche ca deuxieme technique !!!
Je comprend meme pas ce que ca fait ! Mais ca marche !

Reply

Sujets relatifs:

Leave a Replay

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