begin process at 2012 05 27 04:29:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive SQL

 > 

Archives

 > 

Problème avec une requête

 > 

Requete de Sélection besoin d'aide


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requete de Sélection besoin d'aide

dimanche 1 janvier 2006 à 18:01:28 | Requete de Sélection besoin d'aide

ranouf

Bonjour,

J'utilise mysql. j'ai deux tables :
Utilisateur (id_utilisateur, login, id_groupe)
Groupe(id_groupe, lib)

Un utilisateur a (0,1) groupe
Un groupe peut etre utilisé par (0,n) groupe

Je voudrai faire une requete qui me récupère la liste de mes utilisateurs avec le lib du groupe auquel il appartient et si l'utilisateur n'a pas de groupe mettre une chaine vide.

En général je ferai ceci :
SELECT U.login, G.lib
FROM Utilisateur U, Groupe G
WHERE U.Id_Groupe = G.Id_Groupe
UNION (
    SELECT U.login, ""
    FROM Utilisateur U
    WHERE U.Id_Utilisateur NOT IN (
        SELECT U.Id_Utilisateur
        FROM Utilisateur U, Groupe G
        WHERE U.Id_Groupe = G.Id_Groupe
    )
)
ORDER BY Login

malheureusement ça ne marche pas, et je me dis qu'il doit peut etre exister quelque chose de plus propre





=====================================
RANOUF
=====================================
dimanche 1 janvier 2006 à 18:33:39 | Re : Requete de Sélection besoin d'aide

ranouf

En faisant quelques recherches j'ai réussi à faire ceci qui fonctionne :
(
    SELECT U.login AS utilisateur, G.lib
    FROM Utilisateur U, Groupe G
    WHERE U.Id_Groupe = G.Id_Groupe
)
UNION
(

    SELECT U.login, NULL
    FROM Utilisateur U
    WHERE U.Id_Utilisateur 
    NOT IN (
        SELECT U.Id_Utilisateur
        FROM Utilisateur U, Groupe G
        WHERE U.Id_Groupe = G.Id_Groupe
    )
)
ORDER BY utilisateur


Mais est ce qu'il n'existerai pas un moyen plus optimisé ?
    NOT IN (
        SELECT U.Id_Utilisateur
        FROM Utilisateur U, Groupe G
        WHERE U.Id_Groupe = G.Id_Groupe
    )
Cette partie me semble de trop, sous oracle il y a moyen d'éviter cette partie si je me souviens bien.

=====================================
RANOUF
=====================================
lundi 2 janvier 2006 à 17:57:24 | Re : Requete de Sélection besoin d'aide

nhervagault

Administrateur CodeS-SourceS
Salut

Je pense que cette requete est plus performante ;-)

SELECT U.login, isnull(G.lib,'')
FROM Utilisateur U
LEFT JOIN  Groupe G
ON U.Id_Groupe = G.Id_Groupe



Cette discussion est classée dans : login, utilisateur, requete, id, groupe


Répondre à ce message

Sujets en rapport avec ce message

jointure triple [ par petitnounoursjoyeux ] Bonjour tout le monde, je galère depuis un bon moment, j'ai été voir divers forums et tuto, mais pas moyen de faire cette requete de #&#$!#% en gros : utiliser le resultat d'une requete en tant que colonne [ par deathh ] Bonjour, Je suis débutant en SQL et j'ai beaucoup cherché mais je ne dois être passé à coté des mot clé, j'imagine... Voila mon souci: j'ai une table requete sql, classement match [ par cecile15 ] Bonjour, Je me permets de solliciter votre aide pour réaliser en SQL les scores des équipes puis de les classer. Victoire : 3 points; Egalité: 2 point Requete double jointure [ par simonpelloquin ] Bonjour tout le monde, J'ai : une table TBL_Personnel(ID : numérique, NOM : varchar, PRENOM : varchar), une table TBL_Operation(OPERATION : varchar solution d'une requete sql [ par jouxx ] Bonjour, je suis nouveau là et aussi au domaine de programmation :p svp je vx la solution d'une requete sql voilà les tables et on me demande d' : Requete de Statistique [ par dimah77 ] Bonjour, Je me casse la tete depuis plusieurs jours sur une requete, etant debutant en SQL. Voila : j'ai une 2 table avec les champs suivant : table A Requete pour compter [ par dentfree ] Je souhaiterai faire une requête pour faire une liste de personne qui ont écrit plus de 5 titres. Je dispose une table personne, titre ainsi qu'une t Aide pour sql [ par romdeljesus ] Bonjour, j'ai essaye de crayer une base de donnees contenant 2 tables sur netbeans 7.01. je cree une premiere table contenant l'entier id comme cle p optimisation de requete de comptage [ par jerrrrrry ] bonjour à tousje cherche à selectionner certaines images (avec une requete where) et à compter le resultat en utilisant le moins de ressources possibl une simple requete [ par noumian ] salut, je voudrais faire une requete,mais helas je ne touve pas la solution :j'ai 3 tables :Incident (incident_id,incident_ref,incident_rmk)Action (ac


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,919 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales