IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

pb avec delte et sous requete


Sujet :

Développement SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut pb avec delte et sous requete
    bonjour malgré toute mes recherche je bloque la dessus:

    delete from majpz2 where
    idlibelle in (SELECT majpz.IDLibelle, majpz.IDGeo, majpz.Periode
    FROM majpz
    INNER JOIN
    majpz2
    ON
    majpz.IDLibelle = majpz2.IDLibelle
    AND
    majpz.IDGeo = majpz2.IDGeo
    AND
    majpz.Periode = majpz2.Periode)

    je veut supprimer les correlation entre les deux table dans la table majpz2

    voila l'erreur généré

    Une seule expression peut être spécifiée dans la liste de sélection quand la sous-requête n'est pas introduite par EXISTS.

    merci de vos réponse

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 75
    Points : 84
    Points
    84
    Par défaut
    Moi je dirais que comme ca ce serait pas mal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DELETE majpz2
    FROM majpz m
    WHERE m.IDLibelle = majpz2.IDLibelle 
    AND m.IDGeo = majpz2.IDGeo 
    AND m.Periode = majpz2.Periode
    Quand du fait une sous requete de ce type il faut que celle ci ne renvoit qu'une seule colonne de résultat.

    Ou alors tu fais un EXISTS mais pourquoi faire une sous requête quand on peut faire sans...

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 44
    Points : 55
    Points
    55
    Par défaut Si tu veux garder ta jointure
    Bonsoir,
    La première réponse est bonne. Si tu veux comme même garder ta jointure tu peux l'utiliser sans sous-requête :

    DELETE majpz2
    FROM majpz2 m1
    inner join majpz m
    on ( m.IDLibelle = m1.IDLibelle and
    m.IDGeo = m1.IDGeo
    m.Periode = m1.Periode )

    C'est possible de faire de telles jointures sans passer par des sous-requêtes.Mais il faut faire attention à ne mentionner le nom de la table majpz2 qu'une seule fois dans la clause from.

Discussions similaires

  1. Requete avec update et sous requete
    Par rosedeeps dans le forum Développement
    Réponses: 1
    Dernier message: 23/10/2008, 20h29
  2. Probleme de multiplication avec valeurs de sous requete
    Par fred_vannes56 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 21/05/2008, 15h34
  3. pb avec delte et sous requete
    Par tazagaga dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/11/2007, 01h24
  4. INTERBASE: DELETE avec sous requete conditionnelle
    Par Papino dans le forum InterBase
    Réponses: 6
    Dernier message: 17/02/2005, 23h55
  5. Requete avec une sous-requete... Ne fonctionne qu'a moitie..
    Par mythtvtalk.com dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 18/08/2003, 10h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo