|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Réaliser une sous-requête sous Windev |
Débuté par Raoul, 20 juil. 2004 17:39 - 4 réponses |
| |
| | | |
|
| |
Posté le 20 juillet 2004 - 17:39 |
Bonjour, j'essaie de réaliser une sous-requête sous Windev, sachant que ma base de données est sous SQL Server 2000, par conséquent je sais qu'il n'est pas possible de réaliser des requêtes de requêtes puisque cela marche uniquement sous HyperFile, néanmoins je ne comprends pas pourquoi une simple sous-requête tel que : SELECT CLIENT.NOM_CLIENT FROM CLIENT WHERE CLIENT.ID = (SELECT PRODUIT.ID_CLIENT, PRODUIT.ID_PRODUIT FROM PRODUIT WHERE PRODUIT.ID_PRODUIT = 2)
me donne un message d'erreur tel que : "Erreur d'initialisation de la requête : Problème d'initialisation de la requete <SOUSREQUETE_0096B610>. .."
lorsque je la teste sous l'éditeur de requête de Windev,
Est que quelqu'un arrive à faire des sous requêtes? Merci d'avance |
| |
| |
| | | |
|
| | |
| |
Posté le 20 juillet 2004 - 18:06 |
"Raoul" <raoul202@hotmail.com> wrote:
Bonjour, j'essaie de réaliser une sous-requête sous Windev, sachant que ma base de données est sous SQL Server 2000, par conséquent je sais qu'il n'est pas possible de réaliser des requêtes de requêtes puisque cela marche uniquement sous HyperFile, néanmoins je ne comprends pas pourquoi une simple sous-requête tel que : SELECT CLIENT.NOM_CLIENT FROM CLIENT WHERE CLIENT.ID = (SELECT PRODUIT.ID_CLIENT, PRODUIT.ID_PRODUIT FROM PRODUIT WHERE PRODUIT.ID_PRODUIT = 2)
me donne un message d'erreur tel que : "Erreur d'initialisation de la requête : Problème d'initialisation de la requete <SOUSREQUETE_0096B610>. ."
lorsque je la teste sous l'éditeur de requête de Windev,
Est que quelqu'un arrive à faire des sous requêtes? Merci d'avance
Il me semble que cette requête n'est pas correcte : la sous-requête ne doit renvoyer qu'un seul champ, et la tienne en renvoie deux. De plus, comme tu utilises l'égalité, la sous-requête ne doit renvoyer qu'une seule valeur, ce qui n'est pas le cas de ta requête. J'aurais plutôt écrit: SELECT CLIENT.NOM_CLIENT FROM CLIENT WHERE CLIENT.ID IN (SELECT PRODUIT.ID_CLIENT FROM PRODUIT WHERE PRODUIT.ID_PRODUIT = 2) Ou alors la même sans sous-requête : SELECT CLIENT.NOM_CLIENT FROM CLIENT,PRODUIT WHERE CLIENT.ID = PRODUIT.ID_CLIENT AND PRODUIT.ID_PRODUIT = 2
Frédéric. |
| |
| |
| | | |
|
| | |
| |
Posté le 20 juillet 2004 - 18:17 |
Essayer d'ajouter le paramètre hrequeteSansCorrection
"Raoul" <raoul202@hotmail.com> wrote:
Bonjour, j'essaie de réaliser une sous-requête sous Windev, sachant que ma base de données est sous SQL Server 2000, par conséquent je sais qu'il n'est pas possible de réaliser des requêtes de requêtes puisque cela marche uniquement sous HyperFile, néanmoins je ne comprends pas pourquoi une simple sous-requête tel que : SELECT CLIENT.NOM_CLIENT FROM CLIENT WHERE CLIENT.ID = (SELECT PRODUIT.ID_CLIENT, PRODUIT.ID_PRODUIT FROM PRODUIT WHERE PRODUIT.ID_PRODUIT = 2)
me donne un message d'erreur tel que : "Erreur d'initialisation de la requête : Problème d'initialisation de la requete <SOUSREQUETE_0096B610>. ."
lorsque je la teste sous l'éditeur de requête de Windev,
Est que quelqu'un arrive à faire des sous requêtes? Merci d'avance
|
| |
| |
| | | |
|
| | |
| |
Posté le 20 juillet 2004 - 18:26 |
En fait, la requête plante directement sous l'éditeur de requêtes, donc à priori c'est pas la peine d'aller plus loin...
"David CLEMENT" <clement@ch-lons.atrium.rss.fr> wrote:
Essayer d'ajouter le paramètre hrequeteSansCorrection "Raoul" <raoul202@hotmail.com> wrote:
Bonjour, j'essaie de réaliser une sous-requête sous Windev, sachant que ma base
de
données est sous SQL Server 2000, par conséquent je sais qu'il n'est pas possible de réaliser des requêtes de requêtes puisque cela marche uniquement sous HyperFile, néanmoins je ne comprends pas pourquoi une simple sous-requête tel que :
SELECT CLIENT.NOM_CLIENT FROM CLIENT WHERE CLIENT.ID = (SELECT PRODUIT.ID_CLIENT, PRODUIT.ID_PRODUIT FROM PRODUIT WHERE PRODUIT.ID_PRODUIT = 2)
me donne un message d'erreur tel que : "Erreur d'initialisation de la requête : Problème d'initialisation de la requete <SOUSREQUETE_0096B610>. ."
lorsque je la teste sous l'éditeur de requête de Windev,
Est que quelqu'un arrive à faire des sous requêtes? Merci d'avance
|
| |
| |
| | | |
|
| | |
| |
Posté le 20 juillet 2004 - 20:29 |
Merci Frédéric La première requête (SELECT CLIENT.NOM_CLIENT FROM CLIENT WHERE CLIENT.ID IN (SELECT PRODUIT.ID_CLIENT FROM PRODUIT WHERE PRODUIT.ID_PRODUIT = 2)) fonctionne bien et la 2ieme requête sans sous-requete ne pose pas de problème, c'est donc que je ne respectais pas la syntaxe (le IN) et le fait que je mette plus d'un paramètre à récupérer dans la sous-requête, donc les sous-requêtes fonctionnent bien...
"Frédéric DEMILLY" <f.demilly@pacificpeche.fr> wrote:
"Raoul" <raoul202@hotmail.com> wrote:
Bonjour, j'essaie de réaliser une sous-requête sous Windev, sachant que ma base
de
données est sous SQL Server 2000, par conséquent je sais qu'il n'est pas possible de réaliser des requêtes de requêtes puisque cela marche uniquement sous HyperFile, néanmoins je ne comprends pas pourquoi une simple sous-requête tel que :
SELECT CLIENT.NOM_CLIENT FROM CLIENT WHERE CLIENT.ID = (SELECT PRODUIT.ID_CLIENT, PRODUIT.ID_PRODUIT FROM PRODUIT WHERE PRODUIT.ID_PRODUIT = 2)
me donne un message d'erreur tel que : "Erreur d'initialisation de la requête : Problème d'initialisation de la requete <SOUSREQUETE_0096B610>. ."
lorsque je la teste sous l'éditeur de requête de Windev,
Est que quelqu'un arrive à faire des sous requêtes? Merci d'avance
Il me semble que cette requête n'est pas correcte : la sous-requête ne doit renvoyer qu'un seul champ, et la tienne en renvoie deux. De plus, comme tu
utilises l'égalité, la sous-requête ne doit renvoyer qu'une seule valeur, ce qui n'est pas le cas de ta requête. J'aurais plutôt écrit: SELECT CLIENT.NOM_CLIENT FROM CLIENT WHERE CLIENT.ID IN (SELECT PRODUIT.ID_CLIENT FROM PRODUIT WHERE PRODUIT.ID_PRODUIT = 2) Ou alors la même sans sous-requête : SELECT CLIENT.NOM_CLIENT FROM CLIENT,PRODUIT WHERE CLIENT.ID = PRODUIT.ID_CLIENT AND PRODUIT.ID_PRODUIT = 2
Frédéric.
|
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|