sql - 如何使用 SQL 连接来自两个不同表的信息
问题描述
我正在尝试从两个不同的表返回数据,并过滤掉一些返回的数据。我有一个发布者表和一个作者表。我收到一个错误:
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' ORDER BY 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;
解决方案
加入状态没有必要做 a.state = 'IL' AND p.state = 'IL'。尝试做这样的事情:
SELECT P.NAME, P.CITY, A.NAME, A.CITY, A.STATE
FROM PUBLISHER P, AUTHOR A
WHERE A.STATE = P.STATE
AND A.CITY = "Chicago"
AND A.STATE = "IL"
ORDER BY P.NAME, P.CITY, A.NAME, A.CITY, A.STATE
推荐阅读
- sas - 数据步骤中的类似 SAS 的运算符不起作用
- mysql - MySQL中的回滚事务
- java - 我的 GMapsFX 库文件出错
- java - 如何在没有数据库的情况下在 SpringBoot 中创建对象集合?
- fosuserbundle - Symfony4 覆盖 FosUserBundle 模板
- mongodb - 如何使用 docker images 和 docker-compose 持久化 mongo db 的默认数据和运行应用程序数据
- javascript - vue 路由器不使用相同对象的新数据更新 url
- html - 主角头像不显示
- python - 我该如何解决这个while循环?
- gmail - Gmail 促销标签 注释仅在重新加载或查看电子邮件后显示