Requete SQL

Requete SQL - SQL/NoSQL - Programmation

Marsh Posté le 20-06-2005 à 16:40:59    

Lorsque j'exécute cette requete SQL avec jointure :
 
select *  
from patient pa,photo p,diagnostic d, adresse a, visite v, mannequin m  
where pa.PaNum = a.PaNum and pa.PaNum = v.PaNum and v.ViNum = p.ViNum and p.DiCode = d.DiCode and p.MaNum = m.MaNum
 
 
il me renvoie certaines colonnes en double, comment fais t'on pour résoudre ce probleme
merci

Reply

Marsh Posté le 20-06-2005 à 16:40:59   

Reply

Marsh Posté le 20-06-2005 à 16:42:02    

distinct.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-06-2005 à 16:48:03    

non ca ne changes pas snif

Reply

Marsh Posté le 20-06-2005 à 16:48:48    

:heink:
Tu as des doublons en utilisant distinct? On peut voir la requête avec le distinct?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-06-2005 à 16:51:21    

j'ai des doublons dans els colones il m'affiche 3 fois MaNum
3fois PaNum etc...
 
 
select DISTINCT *
from patient pa,photo p,diagnostic d, adresse a, visite v, mannequin m  
where pa.PaNum = a.PaNum and pa.PaNum = v.PaNum and v.ViNum = p.ViNum and p.DiCode = d.DiCode and p.MaNum = m.MaNum

Reply

Marsh Posté le 20-06-2005 à 16:53:15    

ahhhhhhhh dans les colonnes...:o
Euh ben c'est normal.[:dawa]
T'as des colonnes dupliquées dans les tables sélectionnées, donc il te les affiche une fois par table dans laquelle elles apparaissent...[:dawa]


Message édité par skeye le 20-06-2005 à 16:53:33

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-06-2005 à 17:02:41    

voila :-) y'a pas un moyen de les afficher qu'une seule fois pour pouvoir faire un delete sur une partie sélectionée

Reply

Marsh Posté le 20-06-2005 à 17:06:35    

ben si. Au lieu de faire un select * tu sélectionnes que les colonnes dont tu as besoin![:dawa]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 21-06-2005 à 10:54:23    

ok merci ça marche nikel
 
la j'ai cette requette qui me permet de faire une sélection
 
select * from patient pa, photo p, diagnostic d, adresse a, visite v, mannequin m
where pa.paNum=a.PaNum and pa.PaNum=v.PaNum and v.ViNum=p.ViNum and p.DiCode=d.DiCode and p.MaNum=m.MaNum and PaNom="Aubin"
 
tout marche
et lorsque je veut faire une suppression il me met une erreur. Pouvez vous vérifier ma requete de suppression svp
 
delete from patient pa, photo p, diagnostic d, adresse a, visite v, mannequin m
where pa.paNum=a.PaNum and pa.PaNum=v.PaNum and v.ViNum=p.ViNum and p.DiCode=d.DiCode and p.MaNum=m.MaNum and PaNom="Aubin"

Reply

Marsh Posté le 21-06-2005 à 10:57:21    

le delete ça marche pas comme ça.[:skeye]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 21-06-2005 à 10:57:21   

Reply

Marsh Posté le 21-06-2005 à 11:06:17    

oh merte
la en fait j'suis en stage et j'ai des requetes que je n'ai jamais vu en cours :(
 
le delete est possible à partir d'une sélection comme celle la?

Reply

Marsh Posté le 21-06-2005 à 11:07:53    

On ne delete que d'une table à la fois...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-06-2005 à 16:17:16    

si j'ai bien compris, tu veux deleter dans la table patient.
 
je ferais:
 
delete from patient pa
where pa.paNum in (select pa2.paNum from patient pa2, photo p, diagnostic d, adresse a, visite v, mannequin m  
where pa2.paNum=a.PaNum and pa2.PaNum=v.PaNum and v.ViNum=p.ViNum and p.DiCode=d.DiCode and p.MaNum=m.MaNum and PaNom="Aubin" )


Message édité par pouyotte le 22-06-2005 à 16:20:23
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed