|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
Bonjours, cela doit être une question encore récurrente, et je m'en m'excuse par avance, mais j'ai besoin de votre aide.
Voici mes tables : Code :
C'est pour cela que je l'ai mise en MyISAM. Ensuite je veux pour ma requête faire ressortir filename,fileSize ainsi que le nombre de fois qu'ils ont était Inséré dans la table listLink. Code :
|
||||
|
|
00
|
|
|
#2 | ||||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
bonjour
cela aurait cool de formater la requete (plus lisible)Code :
je ne vois pas de pb dans la jointure (a priori), mais j'en vois dans la gestion du GROUP by ... ce n'est pas curieux qu'une ligne sorte ! je verais plutot cela Code :
mais il y d'autres solutions peut etre meme plus efficasse a+ |
||||
|
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
Merci de ta réponse, en effet il manque une foreign key sur l'id mais j'avais eu un problème lors de l'insert, je m'en occuperai.
Ensuite pour le formatage de la requête c'est sûr que c'est beaucoup mieux, je le ferai par la suite. J'ai corrigé une ligne de la requête que tu ma redonné Tu avais oublier de renommer le champs idLink en id dans la view Selection . Mais même après cela la requête ne renvoie rien si elle ne trouve pas de relation, alors que je voudrais qu'elle renvoie de toutes façon toutes les lignes de la table 'link'. EDIT J'ai modifier le code et cela fonction, mais pas pour les requêtes aujourd'hui et demain. Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
bonjour
as tu regardé si la sous requête sort quelque chose ? Code :
|
||
|
|
00
|
|
|
#5 | ||||
![]() ![]() |
Citation:
Du coup, avec MyISAM, tu perds le bénéfice des clé étrangères ! Citation:
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||||
|
00
|
|
|
#6 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
Merci pour vos réponse.
La requête fait bien ce que je veux sauf pour aujourd'hui et demain. Code :
Mais si j'introduis cette requête dans la requête principale elle va compter les id mais pour tous les id groupés. Ex : la requête séparée me retournera 2 1 La requête dans celle principale va me retourner 3 En espérant être assez claire. Merci. EDIT : @CinePhil : Je ne comprend rien à la requête que tu as montré. |
||
|
|
00
|
|
|
#7 | ||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
bonjour
pourrais-tu indiquer ta requête principale ? dans la sous requête, il y a quelque chose de bizarre; il manque la clé pour faire le lien avec la requête principale Code :
|
||
|
|
00
|
|
|
#8 | ||||
![]() ![]() |
Citation:
Citation:
Code :
"Sélectionner les colonnes filename et filesize de l'alias de table l et compter le nombre de lignes de l'alias de table ll de la table link d'alias l jointe à gauche avec la table listlink d'alias ll sur l'égalité de ll.idLink et de l.id en groupant les résultat sur le couple de colonnes l.filename et l.filesize." Autrement dit : Compter le nombre de lignes dans listLink pour chaque link. Selon moi, ça correspond exactement à ton besoin. Ou alors, ton besoin est mal exprimé.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||||
|
00
|
|
|
#9 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
@Dehorter_olivier :
Voici ma requête principale qui fonctionne bien. Code :
Je suis d'accord avec toi il manque la clé, mais c'est là où je coince car je ne sais pas comment l'indiquer. @cinePhil : Sauf que ta requête ne peut pas marcher (d’ailleurs elle ne fonctionne pas) car en faisant un left join on lie les deux tables en une seul. Donc count(11.*) renverra une erreur. La requête principale (que j'ai remis dans ce poste) fonctionne comme il faut en me listant tous les lignes plus le nombre de fois inséré dans la table listLink. Maintenant j'ai juste à résoudre ce que Dehorter_olivier. Car je ne sais pas lier des requêtes imbriquées. Encore merci. |
||
|
|
00
|
|
|
#10 |
![]() ![]() |
C'est vrai qu'il fallait faire un COUNT(ll.idLink) au lieu d'un COUNT(ll.*) mais ta sous-requête ressemble énormément à la mienne !
D'ailleurs je ne vois pas à quoi te sert la requête principale puisque tu ne fais que sélectionner les colonnes de la sous-requête ! Bref, à un détail prêt, ma requête était bonne et je ne vois pas pourquoi tu dis qu'elle ne fonctionne pas ! ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#11 | ||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
salut
cinephil a raison sa requete devrait fonctionner la mienne un peu plus bourrin devrait etre avec cette forme Code :
a+ olivier |
||
|
|
10
|
|
|
#12 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
Oki Merci Cinephil, c'est vrai que ta requête fonctionne et en plus est beaucoup plus simple donc consomme moins de ressource.
Mais comment je peux inclure un champ qui indique le nombre de liens qui est dans la table listLink par rapport à la date d'aujourd'hui. En gros comment introduire la requête ci-dessous dans la requête principale (Donc celle que cinePhil a refait) Code :
|
||
|
|
00
|
|
|
#13 | |||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
en mettant les conditions ad-hoc
en utilisant la requete de cinephil (et si j'ai bien compris) Code :
Citation:
|
|||
|
|
00
|
|
|
#14 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
Non ce que je veux c'est un autre champ en plus mais avec la même requête de départ.
Code :
Pour le +0, pas d'explication parce que parfois je fais une requête avec +1 mais oui on peut l'enlever. |
||
|
|
00
|
|
|
#15 | ||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
Code :
si telle est la relation ! et formater les requetes facilite leur lecture |
||
|
|
10
|
|
|
#16 | |||||||
![]() ![]() |
Citation:
![]() Tu veux le nombre de liens enregistrés aujourd'hui dans la table listLink ? Citation:
Si tu les veux tous, il faut transporter la condition de restriction dans la condition de jointure : Code :
C'est ça que tu veux ? Citation:
Lis la phrase en bleu de ma signature, respire un grand coup et applique le principe !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||||||
|
00
|
|
|
#17 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
dehorter_olivier à très bien répondu à ma demande.
Ma demande était bien exprimée dans plusieurs messages du dessus. En essayant à chaque fois de la reformuler d'une autre manière dans chaque différent message. Mais merci Edit : Bool, une requête simple sans avoir vue la création de la table peu perturber certaine façon de coder. Mais comme on ne peux mettre qu'une seule et unique occurence par jour par utilisateur dans ma table, cela ce transforme bien en Bool |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com