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

 MySQL Discussion :

Algèbre relationnelle et mysql


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 25
    Par défaut Algèbre relationnelle et mysql
    Bonjour,
    Salut,
    J'ai une tableau avec les email et les noms et une autres avec 2 emails (si 2 utilisateurs sont amis).
    Comment je afficher tout les utilisateurs qui ont non pas plus que 2 amis en algèbre relationnelle?

    P.S. Je sais qu'il faut utiliser les jointure mais je vois pas comment

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 50
    Par défaut
    Il faudrait que tu donnes un peu plus de détails sur la structure de tes tables, parce que là ton problème est pas tout à fait facile à comprendre, en plus on a pas le nom des tables et des champs. Peut-être un truc comme ça ? (mais il y a différentes manières d'arriver au résultat):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT
    COUNT(*) AS nombre_amis,
    table_nom.nom
    FROM
    table_nom
    LEFT JOIN
    table_amis AS ta1 ON ta1.email_1=table_nom.email
    LEFT JOIN
    table_amis AS ta2 ON ta2.email_1=table_nom.email
    GROUP BY
    table_nom.nom
    HAVING
    nombre_amis<=2

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 25
    Par défaut
    Citation Envoyé par mrcmrc Voir le message
    Il faudrait que tu donnes un peu plus de détails sur la structure de tes tables, parce que là ton problème est pas tout à fait facile à comprendre, en plus on a pas le nom des tables et des champs. Peut-être un truc comme ça ? (mais il y a différentes manières d'arriver au résultat):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT
    COUNT(*) AS nombre_amis,
    table_nom.nom
    FROM
    table_nom
    LEFT JOIN
    table_amis AS ta1 ON ta1.email_1=table_nom.email
    LEFT JOIN
    table_amis AS ta2 ON ta2.email_1=table_nom.email
    GROUP BY
    table_nom.nom
    HAVING
    nombre_amis<=2
    J'ai deja la raquette en sql mais j'arrive pas le traduire en Algèbre relationnelle

    P.S. Voilà le raquette en sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Select U1.Surnom 
    from `Utilisateur` U1 
    WHERE U1.Surnom NOT IN (
      Select U.Surnom 
      from `Utilisateur` U, `Amis` A 
      where A.Email1=U.email 
        or A.Email2=U.email 
        AND En_attente='True' 
      group by U.Surnom 
    having count(*)>2 )

  4. #4
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    De quelle table, `Utilisateur` ou `Amis`, provient la colonne En_attente ?
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 25
    Par défaut
    Citation Envoyé par Maljuna Kris Voir le message
    Saluton,
    De quelle table, `Utilisateur` ou `Amis`, provient la colonne En_attente ?

    Amis

  6. #6
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Alors je ferais comme cela
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT U.Surnom 
    FROM `Utilisateur` U1 
    LEFT JOIN `Amis` A 
    ON (A.Email1=U.email OR A.Email2=U.email)
        AND A.En_attente='True' 
    GROUP BY U.Surnom 
    HAVING count(*)<3
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 25
    Par défaut
    Citation Envoyé par Hrayr Voir le message
    J'ai deja la raquette en sql mais j'arrive pas le traduire en Algèbre relationnelle

    P.S. Voilà le raquette en sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Select U1.Surnom 
    from `Utilisateur` U1 
    WHERE U1.Surnom NOT IN (
      Select U.Surnom 
      from `Utilisateur` U, `Amis` A 
      where A.Email1=U.email 
        or A.Email2=U.email 
        AND En_attente='True' 
      group by U.Surnom 
    having count(*)>2 )
    Dans le algèbre relationnelle on n' apas having count

Discussions similaires

  1. petit prob en algèbre relationnelle
    Par touf54 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/04/2008, 10h51
  2. restriction: algèbre relationnelle
    Par Ex0w@tt dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/12/2007, 23h36
  3. Règles d'algèbre relationnelle
    Par Ralfman68 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/12/2006, 15h53
  4. [Algèbre relationnelle]Expression algébrique
    Par yoshï dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 07/04/2006, 15h10

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