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 :

Idée pour un select [2014]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 8
    Par défaut Idée pour un select
    Bonjour,

    J'ai un souci de comment aborder un select sur une table.
    Je vous expose mon problème. J'ai une table par exemple qui est la suivante

    ID NAME ENVIRONNEMENT
    1 AAAAAAA PRODUCTION
    2 AAAAAAA PRODUCTION

    3 AAAAAAA DEVELOPEMENT
    4 AAAAAAA DEVELOPEMENT

    5 BBBBBBB DEVELOPEMENT
    6 BBBBBBB DEVELOPEMENT
    7 BBBBBBB DEVELOPEMENT

    Le but est d'extraire les données si Environnement est PROD pour un même NAME (et ne pas avoir les données de DEVELOPEMENT dans ce cas pour ce NAME)
    Par contre, si on a que de l'environnement DEVELOPMENT pour un name UNIQUE il faut alors prendre ces données DEVELOPEMENT.

    En faite pour l'exemple donnée ci-dessous on doit donc avoir ceci:
    ID NAME ENVIRONNEMENT
    1 AAAAAAA PRODUCTION
    2 AAAAAAA PRODUCTION

    5 BBBBBBB DEVELOPEMENT
    6 BBBBBBB DEVELOPEMENT
    7 BBBBBBB DEVELOPEMENT


    Pouvez-vous m'aider svp?

    Merci bcp

    A+



  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Donc tu souhaites conserver les lignes pour lesquelles environnement = 'PRODUCTION' ou ( environnement = 'DEVELOPPEMENT' et il n'existe pas de ligne avec le même NAMEenvironnement = 'PRODUCTION' ).

    J'ai fait les trois quarts du travail, je te laisse écrire la requête...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 8
    Par défaut
    Merci bcp pour ce retour mais c'est la dernière condition que je n'arrive pas à traduire en SQL "et il n'existe pas de ligne avec le même NAME où environnement = 'PRODUCTION' )".
    J'ai pas un super niveau en SQL

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Regarde du côté du prédicat EXISTS.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    Plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ID, NAME, MAX(ENVIRONNEMENT)
    FROM ...
    GROUP  BY ID, NAME
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 8
    Par défaut
    Pour le moment il me retourne à nouveau tout ou juste l'environement PRODUCTION :-(
    Je dois me planter encore dans les clauses WHERE et EXISTS

  7. #7
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 8
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Donc tu souhaites conserver les lignes pour lesquelles environnement = 'PRODUCTION' ou ( environnement = 'DEVELOPPEMENT' et il n'existe pas de ligne avec le même NAMEenvironnement = 'PRODUCTION' ).
    J'ai pas trop eu le temps d'avancer la dessus aujourd'hui.

    Si je reviens à la Table que je vais appeller "PD", cela va donner quelque chose comme ça:
    ID NAME ENVIRONNEMENT
    1 AAAAAAA PRODUCTION
    2 AAAAAAA PRODUCTION
    3 AAAAAAA DEVELOPEMENT
    4 AAAAAAA DEVELOPEMENT
    5 BBBBBBB DEVELOPEMENT
    6 BBBBBBB DEVELOPEMENT
    7 BBBBBBB DEVELOPEMENT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT ID, NAME, ENVIRONNEMENT FROM PD
    WHERE ENVIRONNEMENT = 'PRODUCTION' OR (ENVIRONNEMENT='DEVELOPEMENT' ....c'est ici que je dois faire à nouveau un select avec MAX ? ou INSERT?)
    Merci

  8. #8
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Citation Envoyé par JPaulo Voir le message
    OR (ENVIRONNEMENT='DEVELOPEMENT' ....c'est ici que je dois faire à nouveau un select avec MAX ? ou INSERT?)[/CODE]
    C'est ici que vous devez vérifier qu'il n'existe pas d'autre ligne dans la table avec le même nom mais pour l'environnement 'PRODUCTION', avec un NOT EXISTS dont parlait al1_24

  9. #9
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 8
    Par défaut
    Une petite aide sur la requête restante?
    Merci

  10. #10
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 600
    Billets dans le blog
    10
    Par défaut
    tous les éléments ont déjà été communiqués :

    - soit vous utilisez la solution proposée par SQLPRO telle qu'elle
    - soit vous ajoutez effectivement le test d'existence (WHERE NOT EXISTS... ) dans la parenthèse

    En aucun cas il ne faut combiner les deux solutions !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/10/2004, 17h36
  2. [Débutant][php] IDE pour PHP dans Eclipse ?
    Par folsen dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 22/04/2004, 16h25
  3. Idée pour développer un logiciel de peer to peer
    Par Jibees dans le forum Développement
    Réponses: 5
    Dernier message: 09/06/2003, 22h29

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