Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1125 connectés 

  FORUM HardWare.fr
  Programmation

  [MYSQL] comment faire cette requete

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MYSQL] comment faire cette requete

n°39735
cvince
Posté le 14-06-2001 à 14:41:34  profilanswer
 

Salut ! Tout est dans le titre...
 
select col1
from table1
where col1 not in (select col2 from table2 where col3 = '1')

mood
Publicité
Posté le 14-06-2001 à 14:41:34  profilanswer
 

n°39750
Mara's dad
Yes I can !
Posté le 14-06-2001 à 15:08:06  profilanswer
 

select col1  
from table1, table2  
where table1.col1<>table2.col2 and table3.col3 = '1'


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°39784
cvince
Posté le 14-06-2001 à 16:15:23  profilanswer
 

Mara's dad a écrit a écrit :

select col1  
from table1, table2  
where table1.col1<>table2.col2
and table2.col3 = '1'




 
Tout à fait d'accord, mais il faut dans ce cas précis qu'il existe au moins une ligne dans table2 qui corresponde à clo3='1', sinon, aucune ligne n'est retournée.

n°39786
cvince
Posté le 14-06-2001 à 16:20:22  profilanswer
 

Ok...
 
J'ai 3 tables :
 - USER (user_id)
 - PROJECT(project_id)
 - HABILITATION(user_id, project_id)
 
La table HABILITATION est une table de liaison entre USER et PROJECT.
 
Je veux séléctioner tout les users qui n'ont pas d'habilitation à projet donné.

n°39787
irulan
Posté le 14-06-2001 à 16:25:39  profilanswer
 

select * from USER
 from USER
 where user_id not in
   (select distinct user_id from habilitation
     where project_id = X)
 
Le NOT IN n'est pas terrible du point de vue perf., mais reste très pratique sur des petites tables. Sinon si les tables sont vraiment très grosses, peut-être serat-ce préférable d'utiliser un NOT EXISTS...

n°39789
cvince
Posté le 14-06-2001 à 16:31:24  profilanswer
 

Le SELECT imbriqué n'est pas permis en MySQL...

 

[edit]--Message édité par cvince--[/edit]

n°39798
cvince
Posté le 14-06-2001 à 16:57:54  profilanswer
 

Voila la réponse...
 
select u.user_id
from user u left outer join habilitation h
on u.user_id = h.user_id
and h.project_id = 1
where h.user_id is null


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [MYSQL] comment faire cette requete

 

Sujets relatifs
pour les bon en sql! petite requete de rien du tout[MYSQL + PHP] comment connaitre le nombre de champs d'une table ?
[MYSQL]Copier une base de donnéeHELP: reparer une base mysql corrompue suite à un arret brutal du ...
config optimale pour php/mysql[ASP] Pb avec une requete utilsant l'instruction Format()
[MySQL] requête foireuse... un peu plus dur :)[MYSQL] requête mysql foireuse
[PHP/MYSQL] Pb de requete avec une date[php/MySQL] erreur de requete ou de récupération des données
Plus de sujets relatifs à : [MYSQL] comment faire cette requete


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR