Requête imbriqué [Débutant] [Résolu]

- 5 déc. 2014 à 20:56 - Dernière réponse :  Charles-Etienne Guimond - 5 déc. 2014 à 21:58
Bonjour,
J'ai un grand problème à écrire mon code vb.net, ado.net ou SQL je me perd un petit peu dans les termes. Toutefois, mon petit problème est au niveau de mon écriture dans le programme VB.NET lorsque je désire écrire une requête imbriquer vers ma base de donnée. Mon expression est la suivante :
....
Dim requete As String
requete = "SELECT Nom FROM Client WHERE (#NAS = (SELECT #NAS from AV))"
....
Je désire afficher le nom de mes clients qui possède un produit AV. Le #NAS est la clé primaire de ma table client et c'est avec cette clé que je lie cette table avec AV. Le tout me semble parfait, sauf que VB.net m'écrit toujours ce message d'erreur lors de l'envoie :
...
Erreur de syntaxe (opérateur absent) dans l'expression « (#NAS = (SELECT #NAS from AV)) ».
...
Merci d'avance pour votre aide.
Afficher la suite 

Votre réponse

9 réponses

Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
5 déc. 2014 à 21:08
0
Merci
Charles-Etienne Guimond - 5 déc. 2014 à 21:22
J'ai lu la partie qui me concerne(Inner Join) seulement, on dirait que les versions ne concorde pas. Je ne peux pas utiliser les formes que le site me propose.
Charles-Etienne Guimond - 5 déc. 2014 à 21:40
De plus, je ne sais pas pourquoi mais ma version de VB ne reconnait pas les caractère '.' dans cette formulation de requête
Commenter la réponse de ucfoutu
Messages postés
15829
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 novembre 2018
Modifié par KX le 5/12/2014 à 21:37
0
Merci
Bonjour,

Ici #NAS est une valeur :
WHERE (#NAS = ...)

Et ici c'est une colonne :
SELECT #NAS from AV


Y a comme un hic !

Remarque : je ne connais pas VB mais en SQL le # est considéré comme le début d'un commentaire...
La confiance n'exclut pas le contrôle
Charles-Etienne Guimond - 5 déc. 2014 à 21:39
J'ai malheureusement aucune réponse a mon problème, je suis ultra débutant dans ce domaine et je bûche complètement sur ça présentement. J'essais seulement de comparer les #NAS des deux tables afin que chaque concordance me sorte le nom du client associé au #NAS
Messages postés
15829
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 novembre 2018
- 5 déc. 2014 à 21:42
Pour moi le problème premier vient du # car puisque c'est considéré comme un commentaire ta requête s'arrête en plein milieu.

SELECT Nom FROM Client WHERE (#NAS = (SELECT #NAS from AV))
Charles-Etienne Guimond >
Messages postés
15829
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 novembre 2018
- 5 déc. 2014 à 21:48
J'ai changer ma clé primaire et un nouveau message d'erreur apparait....

Cette sous-requête peut retourner au plus un enregistrement.

Je suis grandement désolé mais je suis vraiment perdu car les notions apprise dans mon cours ne me semble pas assez pousser pour ce genre de problématique.
Messages postés
15829
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 novembre 2018
- 5 déc. 2014 à 21:53
Quand tu fais un
SELECT
ça peut te renvoyer 0, 1 ou plusieurs résultats. Or avec un
=
tu ne peux comparer qu'1 et 1 seul résultat... D'où le message d'erreur.

Soit tu mets un
IN
à la place du
=
soit tu fais une jointure comme te le proposais ucfoutu
Charles-Etienne Guimond >
Messages postés
15829
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 novembre 2018
- 5 déc. 2014 à 21:58
EUREKAAAAA,

Je vous remercierai jamais assez !

Au plaisir de ne jamais se reparler Hahaha ! (Façon de parler)
Commenter la réponse de KX

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.