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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SGBD] Jointure à l'envers?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SGBD] Jointure à l'envers?

n°166075
AGA
La boîte à Bokeh!
Posté le 26-06-2002 à 10:21:43  profilanswer
 

Salut j'ai deux tables avec une relations 1,n 1,1
 
 
une table de Depart, une table service
 
 
un Depart à plusieurs Services,
 
 
je voudrais selectionner les Dept qui n'ont pas de service
Cad les depart ou leur numéro n'apparait pas ds la table Service
 
Comment faire?
 
(j'utilise MySQL au cas ou cela apporterait des restrictions?)
Merci


Message édité par AGA le 26-06-2002 à 10:59:20
mood
Publicité
Posté le 26-06-2002 à 10:21:43  profilanswer
 

n°166076
AGA
La boîte à Bokeh!
Posté le 26-06-2002 à 10:24:19  profilanswer
 

A priori je ferais
 
 

Code :
  1. Select distinct(servNum) from serv, dept where servnumdept<>deptnum;

n°166078
AGA
La boîte à Bokeh!
Posté le 26-06-2002 à 10:24:49  profilanswer
 

Mais c pas bon (normal)


Message édité par AGA le 26-06-2002 à 10:33:13
n°166126
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-06-2002 à 11:00:25  profilanswer
 

SELECT deptnum FROM depart WHERE deptnum NOT IN (SELECT deptnum FROM service)


---------------
J'ai un string dans l'array (Paris Hilton)
n°166129
mrbebert
Posté le 26-06-2002 à 11:02:07  profilanswer
 

Pas de requêtes imbriquées dans mysql :(
 
Ca doit être possible de se débrouiller avec les LEFT JOIN :
 
SELECT Depart.*
FROM Depart
LEFT JOIN Service ON Service.servnumdept = Depart.deptnum
WHERE Service.servnum is NULL


Message édité par mrbebert le 26-06-2002 à 11:04:48
n°166133
AGA
La boîte à Bokeh!
Posté le 26-06-2002 à 11:04:20  profilanswer
 

Comment contourné ça?
C un triatement expeptionnel pour purger la base
donc peut etre lent

n°166137
HappyHarry
Posté le 26-06-2002 à 11:06:16  profilanswer
 

euh ... t'as une cardinalité min de 1, et tu dis qu'il y a des depts qui n'ont pas de services ... y a pas un ptit soucis dans ta modélisation par hasard ?  :sarcastic:

n°166151
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 26-06-2002 à 11:15:55  profilanswer
 

mrbebert a écrit a écrit :

Ca doit être possible de se débrouiller avec les LEFT JOIN :
 
SELECT Depart.*
FROM Depart
LEFT JOIN Service ON Service.servnumdept = Depart.deptnum
WHERE Service.servnum is NULL




j'y avais pensé, mais j'étais pas sur que les LEFT JOIN soient dispo sous MySQL
 
sinon HappyHarry a raison !! si t'as une dépendance (1,n), comment se fesse que tu n'aies pas toujours de correspondance ??


---------------
J'ai un string dans l'array (Paris Hilton)
n°166176
AGA
La boîte à Bokeh!
Posté le 26-06-2002 à 11:27:16  profilanswer
 

parceque le modèle theorik est parfait
 
en revanche ds la pratique les données sont obtenus à partir d'un document humain, d'autre part certains services ont des Interfaces (telecom, son router quoi) qui ne repondent pas donc le service est dans la base mais son Interface (ou ses) n'a pas repondu donc elle n'est pas stocké ds la base, des lors ce service pointe vers rien, il ne nous interresse plus
mais pour l'exemple j'ai mis Dept, et Service,
 
 
vous suivez tjs?


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

  [SGBD] Jointure à l'envers?

 

Sujets relatifs
construire un tableau à l'envers en ASP en fonction de la date[SGBD/VB] PB : chiffres au début du nom de la table
[SGBD] Sybase, récuperer le code d'une sp ...[ SGBD ] Différence entre PostgreSQL et MySQL ?
[SGBD] cherche bons cours en ligne, vous connaissez ?Tous les SGBD
[cherche bookin sur SGBD relationnels, algèbre relationnelle, etc!][SGBD]gestion d'une base de donnée
distinct et jointure compatible sous access??[MySQL] KEY qu'est-ce que c'est | Jointure ou petites requêtes
Plus de sujets relatifs à : [SGBD] Jointure à l'envers?


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