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
Looks как правильный путь. Но у меня проблема в том, что вы не получаете игры с состоянием = 4, я пытался: SELECT g.id FROM game g LEFT JOIN gameprogress gp ON 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
Зачем ему возвращать игры с состоянием = 4? Должен ли я догадываться о данных? Измените вопрос и укажите образец данных! – sagi
Моя вина. Отредактировал вопрос. – farnholdt