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 :

Division SQL Requete


Sujet :

Langage SQL

  1. #1
    Membre actif Avatar de lun4t1k
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    276
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 276
    Points : 274
    Points
    274
    Par défaut Division SQL Requete
    Bonsoir a tous,

    J'ai devant moi deux relations R(x,y,z,t) et S(x,y) et je cherche a ecrire la requete sql de: projection(x,y,z)(R) / S
    Où le slash est l'opérateur de division.

    J'aimerai bien savoir ce que va me retourner cette requete avec ces deux tables:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    I(R)| x |y |z  | t
         |x1|y1|z1|t1
         |x1|y1|z1|t2
         |x1|y2|z1|t1
         |x2|y2|z1|t1
         |x2|y1|z1|t1
         |x1|y1|z2|t1
         |x1|y1|z2|t2
         |x2|y2|z2|t1
     
    I(S)| x |y 
         |x1|y1
         |x1|y2
         |x2|y2
    J'ai peut etre quelque chose comme cela pour la requete sql:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    --Vue v1 [Faut il mettre SELECT DISTINCT ??]
    CREATE VIEW v1 AS SELECT x,y,z FROM R;
    SELECT COUNT(*), Z FROM v1 GROUP BY Z;
     
    CREATE VIEW v3 AS SELECT DISTINCT x,y FROM S;
    SELECT z FROM v1 GROUP BY z 
         HAVING COUNT(*)=(SELECT COUNT(*) FROM v3);
    Ne me demandez pas si ca compiles ou autre, ce n''est qu'une version papier...
    J'espère ne pas avoir tapé les deux tables inutilement
    merci à vous !

  2. #2
    Membre actif Avatar de lun4t1k
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    276
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 276
    Points : 274
    Points
    274
    Par défaut
    Personne n'est maître des divisions ?

  3. #3
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    c'est ptête ça que tu cherches, sinon j'ai pas bien compris ce que tu veux

    http://sql.developpez.com/divrelationnelle/

  4. #4
    Membre actif Avatar de lun4t1k
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    276
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 276
    Points : 274
    Points
    274
    Par défaut
    Non ce n'est pas ça, je l'ai vu.
    J'aimerai que quelqu'un me dise si ma requete est juste et ce que va me retourner la requete.

    Dans la faq, il n'est pas créé de vue pour simplifier la requete, ca me perturbe !

  5. #5
    Membre actif Avatar de lun4t1k
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    276
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 276
    Points : 274
    Points
    274
    Par défaut
    Le résultat de la division de R par S devrait etre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    I(R)| x |y |z  | t
         |x1|y1|z1|t1
         |x1|y1|z1|t2
         |x1|y2|z1|t1
         |x2|y2|z1|t1
         |x2|y1|z1|t1
         |x1|y1|z2|t1
         |x1|y1|z2|t2
         |x2|y2|z2|t1
     
    I(S)| x |y 
         |x1|y1
         |x1|y2
         |x2|y2
     
    --Resultat de cette division R / S
    I(Q)|z | t
         |z1|t1
    Mais qu'en est t'il de la requete projection(x,y,z)(R) / S

    Cette projection change quoi?
    Elle élimine juste la colonne T et ne garde que celle du Z?

  6. #6
    Membre actif Avatar de lun4t1k
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    276
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 276
    Points : 274
    Points
    274
    Par défaut
    dans ce (quasi) monologue, je marque résolu car j'ai finis par éclaircir tous les points obscurs.

    Si vous voulez des précisions demandez.

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

Discussions similaires

  1. [SQL] requete INSERT possible?
    Par clad523 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/08/2005, 15h42
  2. [SQL] Requete de Sauvegarde
    Par Diablo_22 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 29/07/2005, 18h12
  3. [SQL] requetes inbriquées un peu plus complexe.
    Par Devil666 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/05/2005, 11h06
  4. [SQL] requetes inbriquées, comment faire celle ci??
    Par Devil666 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/05/2005, 15h44
  5. [MS-SQL]requete sur 3 tables
    Par pascalT dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 30/04/2003, 11h24

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