Requete SQL - SQL/NoSQL - Programmation
Marsh Posté le 20-06-2005 à 16:42:02
distinct.
Marsh Posté le 20-06-2005 à 16:48:48
Tu as des doublons en utilisant distinct? On peut voir la requête avec le distinct?
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
Marsh Posté le 20-06-2005 à 16:53:15
ahhhhhhhh dans les colonnes...
Euh ben c'est normal.
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...
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
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!
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"
Marsh Posté le 21-06-2005 à 10:57:21
le delete ça marche pas comme ça.
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?
Marsh Posté le 21-06-2005 à 11:07:53
On ne delete que d'une table à la fois...
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" )
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