[英]Error in MySQL Syntax for a Case Statement
我正在研究棒球预测系统,我正在尝试根据开始的比赛制定两种不同的公式。
这是我目前的错误:
ERROR 1064 (42000):您的 SQL 语法有错误; 检查与您的 MySQL 服务器版本相对应的手册,了解在 '(ROUND( COALESCE(IP1,0) * .5 + COALESCE(IP2,0) * .1 + 60 )) D( COALESCE(IP1, 0) *' 在第 6 行
这就是我的代码的样子:
CREATE TABLE player_ip_2015
AS
SELECT playerID
,CASE
WHEN (b.GS > 5)
THEN (ROUND( COALESCE(IP1,0) * .5 + COALESCE(IP2,0) * .1 + 60 ))
ELSE (ROUND( COALESCE(IP1,0) * .5 + COALESCE(IP2,0) * .1 + 20 ))
END
AS IP
FROM (SELECT * FROM (SELECT DISTINCT playerID FROM pitching_pos) b
LEFT JOIN (SELECT playerID AS playerID1, (IPOuts/3) AS IP1 FROM pitching_pos
WHERE yearID = "2014") b1
ON b.playerID = b1.playerID1
LEFT JOIN (SELECT playerID AS playerID2, (IPOuts/3) AS IP2 FROM pitching_pos
WHERE yearID = "2013") b2
ON b.playerID = b2.playerID2) b
GROUP BY playerID
ORDER BY IP DESC;
您正在打开一个(
在Case
之前并且您永远不会关闭它,您应该删除(
无论如何(或在End
之后关闭它)
IP1的价值是多少? 其次,您对问题的标题与您报告的错误不符。 第三,您还有一个额外的 ( 在语句的 FROM 部分。
检查您的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.