我是一个MySQL磨砂膏,我已经四处询问并在互联网上检查了我肯定会发现什么是明显的东西,但我对我认为非常非常非常沮丧简单查询不起作用。所以这里。请温柔。
基本上,在大型数据库中,某些列名称包含数学运算符,如“/”和“+”。 (不要问,这不是我的数据库,我对此无能为力)。这是我的查询的“本质”(为了这个问题我拿出了不相关的东西):
SELECT PlayerId,
Season,
WPA/LI AS WPALI
FROM tht.stats_batting_master
WHERE Season = "2010"
AND teamid > 0
AND PA >= 502
GROUP BY playerid
ORDER BY WPALI DESC
当我运行它时,它在'字段列表'中返回“未知列'LI',”我假设因为它在WPA / LI中看到“/”作为分区符号。就像我说的那样,我确信这很容易解决(必须给出这个数据库的使用量),但我还没弄清楚如何使用。
提前感谢您的帮助。
答案 0 :(得分:5)
使用反引号来逃避这种情况:
SELECT PlayerId,
Season,
`WPA/LI` AS WPALI
FROM tht.stats_batting_master
WHERE Season = "2010"
AND teamid > 0
AND PA >= 502
GROUP BY playerid
ORDER BY WPALI DESC
答案 1 :(得分:0)
你试过这个syndax:
SELECT PlayerId, Season `WPA/LI` AS WPALI
FROM tht.stats_batting_master
WHERE Season="2010" AND teamid>0 AND PA>=502
GROUP BY playerid
ORDER BY WPALI DESC