【发布时间】:2018-06-21 12:31:49
【问题描述】:
我正在尝试从两个不同的表返回数据,并过滤掉一些返回的数据。我有一个发布者表和一个作者表。 我收到一个错误:
MySQL 编号:1064 MySQL 错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解在 'IL' AND p.state = 'IL' ORDER BY p.name, p.city, a.name, a.city, a.state' 附近使用的正确语法在第 4 行 SQL: SELECT p.name, p.city, a.name, a.city, a.state FROM publisher p JOIN author a ON (p.state= a.state) WHERE a.city = 'Chicago AND a.state = 'IL' AND p.state = 'IL' 按 p.name、p.city、a.name、a.city、a.state 排序 MySQL 受影响的行:-1
SQL
SELECT p.name, p.city, a.name, a.city, a.state
FROM publisher p JOIN author a
ON (p.state= a.state)
WHERE a.city = 'Chicago' AND a.state = 'IL' AND p.state = 'IL'
ORDER BY p.name, p.city, a.name, a.city, a.state;
【问题讨论】:
-
您在执行此查询时遇到了什么错误,因为查询对我来说是正确的?
-
看起来不错,您可以将 id 更改为 AND P.pub_ID IN (1, 3) 否则看起来不错
-
谢谢布拉德。我在想有一个更短或更好的方式来写同样的声明。感谢您的意见。
-
Rajen,没有错误,只是认为有一种更有效的方法来编写相同的语句,所以它不会那么冗长。
-
您的错误表明您在芝加哥之后缺少报价,但您的示例查询不是。下次,先发布您的实际查询和错误,而不是事后编辑它们或尝试生成类似的。
标签: sql