Bonjour,
j'ai deux tables personne et voiture avec un champ identique (marque).
je souhaite pouvoir faire une requête pour obtenir :
- si le champ marque sur la table personne est égale à Renault je souhaite afficher toutes les voitures de la marque Renault.
- si le champ marque sur la table personne est autre que Renault alors je souhaite afficher toutes les voitures.
Mon problème c'est que je ne parviens pas à obtenir toutes les voitures il affiche soit les marques Renault soit les autres marques alors que dans le deuxième cas je veux tout.
j'ai essayé un CASE mais j'ai une erreur car il renvoie plusieurs lignes.
exemple de requête :
select * from ENTITY tt
where
tt.IDENTITY IN
(select t0.IDENTITY from ENTITY t0
inner join KEYWORDVALUE kw on t0.KWUM=kw.IDKEYWORDVALUE
inner join ENTITYEMP e on t0.KWUM=e.KWUM and IDENTITYEMP='personneA'
left join KEYWORDVALUE kw2 on e.KWUM=kw2.IDKEYWORDVALUE
inner join KEYWORDVALUE k on t0.KWYEAR=k.IDKEYWORDVALUE
where t0.KWUM='renault' and k.TEXTVALUE_FRFR = year(GETDATE())
)
OR tt.IDENTITY IN (
select t2.IDENTITY
from ENTITY t2
left join ENTITYEMP e on t2.KWUM=e.KWUM and IDENTITYEMP='PersonneA'
inner join KEYWORDVALUE kw on e.KWUM=kw.IDKEYWORDVALUE
inner join KEYWORDVALUE k on t2.KWYEAR=k.IDKEYWORDVALUE
where t2.KWUM!='renault' and k.TEXTVALUE_FRFR = year(GETDATE())
)
Quelqu'un peut il m'aider s'il vous plait ?
Partager