有人知道为什么这会给出一个接近“from”的错误:语法错误吗?
SELECT voetbal_team_id_a,
CASE
WHEN (COUNT(omschrijving) FROM gebeurtenis WHERE wedstrijd.voetbal_team_id_a = gebeurtenis.voetbal_team_id AND gebeurtenis.omschrijving = 'goal' AND wedstrijd.wedstrijd_id = gebeurtenis.wedstrijd_id) >
(COUNT(omschrijving) FROM gebeurtenis WHERE wedstrijd.voetbal_team_id_b = gebeurtenis.voetbal_team_id AND gebeurtenis.omschrijving = 'goal' AND wedstrijd.wedstrijd_id = gebeurtenis.wedstrijd_id) THEN 3
ELSE 0
END AS wins
FROM wedstrijd
INNER JOIN gebeurtenis
ON wedstrijd.wedstrijd_id = gebeurtenis.wedstrijd_id
我想创建这个:
但我不知道当你用计数的时候这个案子是怎么运作的。
计数本身应该有效,这是我的另一个问题:
SELECT wedstrijd.wedstrijd_id,
(SELECT COUNT(omschrijving) FROM gebeurtenis WHERE wedstrijd.voetbal_team_id_a = gebeurtenis.voetbal_team_id AND gebeurtenis.omschrijving = 'goal' AND wedstrijd_id = wedstrijd.wedstrijd_id) AS Goals_A,
(SELECT COUNT(omschrijving) FROM gebeurtenis WHERE wedstrijd.voetbal_team_id_b = gebeurtenis.voetbal_team_id AND gebeurtenis.omschrijving = 'goal' AND wedstrijd_id = wedstrijd.wedstrijd_id) AS Goals_B
FROM gebeurtenis
INNER JOIN wedstrijd
ON gebeurtenis.wedstrijd_id = wedstrijd.wedstrijd_id
GROUP BY wedstrijd.wedstrijd_id
这将产生以下结果:
2条答案
按热度按时间noj0wjuj1#
case ... from
不是有效的sql。你可以用它做你想做的事
union all
和聚合:8mmmxcuj2#
我想创造这个
将给出显示的结果。一点都不需要。