我是一個sql案例的問題,我想檢查一個列值,如果返回true,那麼我想要另一個列值改變,但在'case'中,你只能檢查一列,只改變價值,我如何使它工作?sql case when x =?那麼y =?結束
select f.[film name],f.city,p.[participant name],
case rt.[type name]
when 'director' then 'director' else null
end 'role type'
from Films f
join FilmParticipants fp on fp.filmID=f.filmID
join Participants p on p.participantID=fp.participantID
join RoleType rt on rt.roleID=fp.roleID
where f.city in(
select f.city
from Films f
group by f.city
having COUNT(*)>1)
order by f.city
它給這個表:
film name | city | participate name | role type
Shrek | London | John | null
Shrek | London | John | null
Dragon | London | Rick | null
Drago | London | Morty | Director
現在我想,只要有在「角色類型列」空的「參與名稱」欄爲空爲好。
更新你的問題添加適當的數據樣本和預期的結果,並告訴空同樣的方式我們你正在使用哪個db – scaisEdge
查詢有什麼問題......? – scaisEdge
我已經編輯了這篇文章,以便更清楚地瞭解 – Eden