Aider moi pour une requete - SQL/NoSQL - Programmation
Marsh Posté le 26-11-2004 à 11:25:48
il faudrait que tu décrives mieux les tables
mais a priori ça parait possible
Marsh Posté le 26-11-2004 à 11:57:13
krolours1 a écrit : il faudrait que tu décrives mieux les tables |
Voilà j'ai fait ça, en esperant que vous allez pouvoir m'aider
Code :
|
Donc si je récapitule par ordre chrono
ma requete doit donc sélectionner les enregistrements 2,4,5 de la table X
Ensuite elle doit donc selectionner les enregistrements 1, 3, 4, 6, 8, 9 de la table Y.
Et donc au final me ressortir les 5 enregistrements de Y les plus récents soit: 1,3, 4, 6, 9.
Je vous remercie par avance
edit: j'ai eu tort de mettre mes dates sous ce format mais je vous rassure elles sont bien de la forme aaaa-mm-jj dans ma table
Marsh Posté le 26-11-2004 à 12:16:52
Salut,
voilà une requête pour l'enregistrement de Y le plus récent:
select Y.id
from X, Y
where Y.id_de_x = X.id
and Y.date = (select max(Y1.date) from Y Y1
where Y.Id = Y1.Id)
and X.val = 'C'
Pour les cinq c'est un peu plus chaud, et je peux pas trop t'aider plus par manque de temps, désolé ...
Bonne chance, Tchussy
Marsh Posté le 26-11-2004 à 12:24:17
Mattioux a écrit : Salut, |
Merci je vais essayer, si ça marche il me suffira de faire un ORDER BY date DESC LIMIT 5
Je vous tiens au courant
Marsh Posté le 26-11-2004 à 16:51:35
SELECT Y.id
FROM Y, X
WHERE X.val = 'C'
AND Y.id_de_X = X.id
ORDER BY Y.date desc
LIMIT 5
Ca suffit
Marsh Posté le 26-11-2004 à 17:37:13
Arjuna a écrit : |
Merci infiniment ça fonctionne nickel !
Dernière question qui n'a rien à voire.
Est-ce qu'à chacune de vos requetes vous faites apres un mysql_free_result pour libérer la mémoire ? Si non vous le faites quand ?
Marsh Posté le 26-11-2004 à 18:56:51
Moi je fais un rs.Close et un Set rs = Nothing, mais c'est pas du PHP
Marsh Posté le 01-12-2004 à 21:41:02
ReplyMarsh Posté le 01-12-2004 à 22:04:50
Mattioux a écrit : Salut, |
a ma connaissance les requetes imbriquées ne marchent pas en mysql mais bon on ne sait jamais
Marsh Posté le 02-12-2004 à 15:50:23
Ben c'est comme du PHP sauf que ça tourne sur le service IIS de Windows NT et non pas Apache, et que c'est une techno M$ et non pas GNUchaipakoi et que la syntaxe est dérivée du VB et non pas d'un micmac comme le PHP.
Ensuite, tout comme le PHP, on peut faire du 100% bien crade comme il faut, ou du 100% presque propre comme on peut
(comme le PHP, l'ASP n'est pas un langage typé, donc c'est un peu chiant. Cela dit, je trouve qu'en bon nombre de points il est bien plus propre, même si sa permissivité permet de le rendre plus crade que du PHP de goret )
Marsh Posté le 02-12-2004 à 15:57:42
En gros, en ASP, on peut faire propre :
Code :
|
Tout comme on peut faire crade :
Code :
|
Les deux marchent de la même façon.
Le premier est débugable et ne laisse pas un gros bordel dans la mémoire de IIS, l'autre va bouffer des ressources pas possible dans IIS (connections et recordsets qui restent en mémoire jusqu'au timeout bdd) et complètement indébugable pour peu que la page soit un peu chargée.
En bref, comme le PHP, on peut faire du crade comme du propre. Mais je trouve que mise à part quelques points noirs (chaînes de caractères) l'ASP permet globalement de faire du code plus lisible.
Marsh Posté le 26-11-2004 à 10:58:43
Voilà je n'arrive pas à faire une requete SQL pour mysql
J'ai 2 tables X et Y
Je veux séléctionner tous les enregistrements de la table X qui posséde la valeur C. Le resultat me donne donc enregistrement de X 1, enregistrement de X 2, ..., enregistrement de X n.
Ensuite je veux sélectionner tous les enregistrement de la table Y qui posséde la clé des enregistrements de X 1, enregistrement de X 2, ..., enregistrement de X n.
Ca doit donc me donner: enregistrement de Y 1, enregistrement de Y 2, ..., enregistrement de Y n.
Pour finir je veux séléctionner que les 5 premiers enregistrements de ce dernier resultat ayant la valeur date la plus élevée.
Voila est-ce que c'est possible en une seule requete ? si oui aidez moi car je n'y arrive pas. Je ne peux pas passer par une boucle PHP car étant donné le nombre de resultat énorme ça va faire beaucoup trop de requete...