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

SQL Oracle Discussion :

Justesse d'une requete


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Août 2015
    Messages : 14
    Points : 14
    Points
    14
    Par défaut Justesse d'une requete
    Bonjour,
    Une petite question avant que je fasse des bêtises en prod
    J'ai deux tables et je veux compter le nombre de valeur
    d'une donnée présent dans la table 1 et absent de
    la table2
    j'ai écris cela



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     SELECT A.donne, COUNT(*) from table1 A
    WHERE NOT EXISTS 
    ( SELECT B.donne FROM table2 B 
    WHERE A.donne = B.donnee)

    En gros pour être plus clair,
    J'ai 2 tables prénom et je veux compter combien de prénom sont
    présent dans la table1 et absent de la table2

    Est ce que ce que la requete que j'ai écris est bonne ?

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Août 2015
    Messages : 14
    Points : 14
    Points
    14
    Par défaut Après avoir testé et reflechi, j'ai trouvé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT COUNT(*) from table1 A
    WHERE NOT EXISTS
    (SELECT NULLIF(0,0)
    FROM table2 B 
    WHERE A.donne = B.donne )

    Est ce que c'est juste

  3. #3
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    Ta sous requête initiale était correcte. Le problème était quand tu l'utilisais dans l'update. Tu fais appel à table1 de l'update alors que ta sous requête concernait A.

    Pour ta requête actuelle, pour utiliser un NULLIF(0,0) qui retournera toujours NULL, plutôt que NULL directement?
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

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

Discussions similaires

  1. [algorithme] pour vérifier la justesse d'une requete
    Par rattlehead dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/01/2007, 21h12
  2. Quote dans une requete...
    Par Isildur dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/06/2006, 10h57
  3. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 12h53
  4. [VB6] [Excel] Résultat d'une requete ds une feuille
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/01/2003, 17h52
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22

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