|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mai 2006 Messages : 12 ![]() |
Bonjour à tous,
J'aurais besoin de votre aide pour effectuer une requête sql: Code :
Pouvez-vous m'aider? Merci d'avance Nils56 |
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() Emilie LefolEn recherche d'emploi Inscription : février 2009 Messages : 411 ![]() |
Bonjour,
Tout d'abord, merci d'utiliser la balise "code" disponible sur le forum pour afficher ton code, ce sera bien plus clair pour nous. Ensuite, tu utilises une techniques qui date d'il y a très longtemps... avant 1992 :$ Je te conseilles plutôt d'utiliser les jointures, ce sera bien plus facile mais aussi que lorsque tu renommes des champs dans ta requête qu'elles soit plus simplifié (c'est à ceci que cela sert) Voici un exemple où je sélectionne tout les champs voulu dont le stock_no est égal à 1 : Code sql :
__________________
![]() - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol) - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche) |
||
|
|
10
|
|
|
#3 | ||
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Votre problème est au niveau de la compréhension des jointures ...
Je vous conseille dans un premier temps d'aller lire ce tutoriel Vous y apprendrez que ce que vous essayez de faire est une jointure interne. Ce qui implique que des résultats ne sont retournés que si il y a existence stricte de la condition de jointure. Votre code (j'ai réécris avec une jointure explicite mais cela reste une jointure interne, cela permet de bien vous montrer les conditions de jointures) Code :
Si vous voulez ramener des résultats, même si les lignes des différentes tables jointes ne sont pas renseignées, il vous faudra utiliser la jointure externe. Je vous laisse le soin de potasser le tuto, et de réécrire la requête adéquate. Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : mai 2006 Messages : 12 ![]() |
Bonjour,
et merci beaucoup pour votre réponse rapide. Le problème est que j'aimerais également avoir les stock_no qui ne se trouvent pas dans la table isgm. Dans la première table, on a stock_no avec les variantes, on a les détails additionnels le problème et certains stock_no n'ont pas de détails additionnels et donc ne se trouvent pas dans le résultats et nous aurions besoin également de ceux-ci. Merci Nils56 |
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Citation:
Sa façon d’écrire sa jointure est dite IMPLICITE, elle est présente dans la Grammaire SQL92 (BNF Grammar for ISO/IEC 9075:1992 - Database Language SQL) ce qui en autorise l'utilisation. C'est donc bel et bien une jointure. De plus, vous ne renommerez pas un champ dans une requête, mais une colonne... L'utilisation de la jointure dite explicite, permet de bien différencier les conditions de jointures des clauses de la requête.
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Emilie LefolEn recherche d'emploi Inscription : février 2009 Messages : 411 ![]() |
N'oubliez pas que nous n'avons pas connaissance de la structure de votre base de données, et que de part ce fait, moi personnellement, je ne comprends pas du tout ce que vous essayez d'expliquer.
Si je ne comprends pas, c'est que vous nous dites que vous n'avez pas le stock_no, pourtant on le sélectionne bien dans la requête.... Merci de reformuler votre demande plus clairement s'il vous plaît et pourquoi pas, mettre aussi votre structure de base de données concernant le problème pour plus de compréhension.
__________________
![]() - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol) - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche) |
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() ![]() Emilie LefolEn recherche d'emploi Inscription : février 2009 Messages : 411 ![]() |
Citation:
Et pour le "champ" en "colonne", encore une fois, vous avez raison, j'ai voulu taper trop vite ! Mais le problème reste le même
__________________
![]() - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol) - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche) |
|
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Laissez lui le temps de lire le tuto et d'essayer de faire sa requete avec une jolie jointure externe
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
01
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : mai 2006 Messages : 12 ![]() |
Bonjour à tous et merci
Voici la requête qui fonctionne très bien maintenant Code :
Nils56 |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com