1
我有兩個表稱爲遊戲和gameprogress
。 Gameprogress
有一個名爲state
的列描述了進度。遊戲與gameprogress
槽有關。檢查表是否具有特定的行值
可能的狀態是:1,3,4在gameprogress中。
我想找到遊戲沒有state = 1
和無狀態= 4。我已經試過這樣的事情:
select top 10 gp.gameid, count(gp.state) as dup
from gameprogress gp
join game g on g.id= gp.gameid
where g.gamestate != 2 and gp.state != 1
group by gp.gameid
having count(gp.state)>1
外貌像正確的路要走。但我有一個問題沒有得到與狀態= 4的遊戲,我試圖:選擇g.id 從遊戲g 左加入gameprogress gp在g.id = gp.gameid 其中g.gamestate!= 2和gp.state!= 4 GROUP BY g.id HAVING COUNT(CASE WHEN gp.state = 1 THEN 1 END)= 0 – farnholdt
爲什麼它應該返回state = 4的遊戲?我應該猜數據嗎?編輯問題並提供數據示例! – sagi
我的錯。編輯了這個問題。 – farnholdt