繁体   English   中英

Case 语句的 MySQL 语法错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM