似乎无法理解为什么SQL Query没有给我正确的响应

时间:2017-12-20 21:53:02

标签: mysql hive

我试图打印2002年薪水超过500,000美元并且赚得更多的球员 超过30个本垒打。我必须从两个表中提取数据,但我所拥有的不起作用并给我一个错误。我似乎无法弄清楚错误,为什么它没有给我我需要的输出。

SELECT batter.playerID, HR, salary_table.salary, salary_table.yearID

FROM batter, salary_table

JOIN salary_table ON salary_table.playerID = batter.playerID
JOIN salary_table ON salary_table.yearID = batter.yearID

WHERE salary_table.yearID = 2002
AND salary_table.salary > 500000
AND HR > 30
GROUP BY batter.playerID, HR, salary_table.salary, salary_table.yearID;

我得到的错误是= AILED:SemanticException [错误10008]:第5行:5不明确的表别名' salary_table'

1 个答案:

答案 0 :(得分:0)

您不需要多次加入salary_table

SELECT b.playerID, b.hr, s.salary, s.yearID
FROM batter AS b
JOIN salary_table AS s ON b.playerID = s.playerID AND b.yearID = s.yearID
WHERE s.yearID = 2002
AND s.salary > 500000
AND b.hr > 30

您也不需要GROUP BY,因为您没有在表格中汇总任何内容。