Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/04/2011, 11h36   #1
Futur Membre du Club
 
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 17
Points : 17
Par défaut more than one row returned by a subquery used as an expression

Bonjour,

Je cherche à remplir ma table couvre à partir des tables DéfinieSur, Comprend.

Code :
INSERT INTO Couvre SELECT GenreID,ArtistID FROM definieSur,comprend WHERE definieSur.GenreID=(SELECT genreID FROM caracteriser) AND comprend.ArtistID!=(SELECT ArtistID FROM participer);
Cependant, j'ai un problème : "more than one row returned by a subquery used as an expression".

Pouvez vous m'aider à le régler SVP ?

MERCI
EE
R R
C C
I I
bsangoku est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2011, 16h45   #2
Membre émérite
 
Homme Olivier Dehorter
Ingenieur de recherche - Ecologue
Inscription : juin 2003
Messages : 697
Détails du profil
Informations personnelles :
Nom : Homme Olivier Dehorter
Localisation : France

Informations professionnelles :
Activité : Ingenieur de recherche - Ecologue

Informations forums :
Inscription : juin 2003
Messages : 697
Points : 837
Points : 837
meme reponse que le precedant post

Code :
1
2
3
4
5
6
7
8
   INSERT INTO Couvre
   SELECT Genreid,
          Artistid
     FROM Definiesur, Comprend
     WHERE Definiesur.Genreid = (SELECT Genreid
                                   FROM Caracteriser)
             AND Comprend.Artistid !=(SELECT Artistid
                                        FROM Participer);
pas plus facile a lire ?????

deja en faisant cela la requete devrait fonctionner

Code :
1
2
3
4
5
6
7
8
   INSERT INTO Couvre
   SELECT Genreid,
          Artistid
     FROM Definiesur, Comprend
     WHERE Definiesur.Genreid IN (SELECT Genreid
                                   FROM Caracteriser)
             AND Comprend.Artistid NOT IN (SELECT Artistid
                                        FROM Participer);
dehorter olivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 09h52   #3
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
INSERT INTO Couvre SELECT GenreID,ArtistID FROM definieSur,comprend WHERE definieSur.GenreID=(SELECT genreID FROM caracteriser) AND comprend.ArtistID!=(SELECT ArtistID FROM participer);Cependant, j'ai un problème : "more than one row returned by a subquery used as an expression".
Cette erreur intervient car vous utilisez = ou != à la place de IN ou d'une jointure.

Avec = vous indiquez à SQL SERVER que la partie de droite ne retourne qu'un résultat... or ici vous en avez plusieurs...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 12h40   #4
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 667
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 667
Points : 8 715
Points : 8 715
Et il n'y pas de relation définie entre Definiesur et Comprend ...

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h38.


 
 
 
 
Partenaires

Hébergement Web