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

Langage SQL Discussion :

retirer une ligne


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut retirer une ligne
    J'ai deux tables.
    TABLE 1
    A B C
    1 az 2
    1 er 2

    TABLE2
    A' B'
    1 x
    2 x

    Je dois faire une jointure entre les deux tables mais le problème c'est que la requete va me renvoyer deux lignes dans à cause de la table 1.
    je voudrais qu'une seule ligne. Comment faire

  2. #2
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut Re: retirer une ligne
    Salut, et bienvenue sur ce forum,

    Citation Envoyé par socgen77
    Je dois faire une jointure entre les deux tables mais le problème c'est que la requete va me renvoyer deux lignes dans à cause de la table 1.
    je voudrais qu'une seule ligne. Comment faire
    L'intérêt des jointures est justement d'éviter les produits cartésien.

    A lire : cours de SQLPro sur les jointures

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ma clé est la colonne 1, je vais donc me retrouver avec deux fois la valeur 1 ? tu ne reponds pas à ma question

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    En faisant une jointure interne de la colonne A appartenant à la Table1 sur la colonne A' de la Table2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Table1.*, Table2.*
    FROM Table1 AS T1
    INNER JOIN Table2 AS T2 ON (T1.A = T2.A')
    tu vas avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    A B C A' B'
    ==============
    1 as 2 1 x
    1 er 2 1 x
    Et c'est tout : le n-upplet (2, x) de la Table2 ne possède pas de ligne liée dans la Table1.

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    jE VEUX JUSTE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    A B C A' B' 
    ============== 
    1 as 2 1 x 
     
    MERCI

  6. #6
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par socgen77
    tu ne reponds pas à ma question
    Si, c'est toi qui n'a pas été lire la réponse ! Tu sembles débuter en SQL, c'est pourquoi je me suis permis de te rediriger vers un cours assez bien consruit et illustré sur les jointures.

    Si tu veux une seule ligne en résultat, il faut spécifier laquelle dans ta requête, via une clause WHERE. En reprenant la requête de mon collègue Magnus, cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Table1.*, Table2.*
    FROM Table1 AS T1
    INNER JOIN Table2 AS T2 ON (T1.A = T2.A')
    WHERE T1.A = 1

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Xo : ta requête va retourner 2 lignes

    socgen77 : sois plus poli(e) : on ne comprend pas ce que tu veux faire, nous ne sommes pas dans ta tête alors exprime toi clairement
    => automatiquement une jointure va te retourner les 2 lignes dans ton exemple.
    Quel critère te permet de dire "je veux que ma requête retourne le n-upplet (1, as, 2, 1, x) mais pas celui (1, er, 2, 1, x)" ?

  8. #8
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par Magnus
    Xo : ta requête va retourner 2 lignes
    Damned, that's rigth, je m'ai fait eu

  9. #9
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut toujours le meme
    je te donne un peu plus de précision.

    Je veux prendre uniquement la première ligne. Je n'ai pas d'autre critère. C'est une requete on va dire aléatoire.

  10. #10
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Je vois ce que tu demandes mais comme tu n'indiques pas ton SGBD donc le mieux que je puisse te proposer est de regarder du côté de la fonction LIMITE : http://sql.developpez.com/sqlaz/fonctions/#L1.8

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Retirer un ligne en fonction des valeurs d'une colonne
    Par CaraLePoke dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/10/2012, 19h14
  2. Réponses: 4
    Dernier message: 02/05/2012, 19h13
  3. retirer une ligne d'un tableau ajouté dynamiquement ?
    Par swakone dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/11/2008, 19h03
  4. Retirer une ligne d'un QTableWidget
    Par uriotcea dans le forum Qt
    Réponses: 2
    Dernier message: 18/06/2008, 18h35
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 16h23

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