MySQL 内部连接查询没有返回正确的结果

标签 mysql database inner-join

我是内部联接的新手,我似乎无法弄清楚这里出了什么问题。我希望返回表“事件”中的所有行。这是我的表格:

+----+---------+----------+    +----+---------+
| ID |  name   | venue_id |    | ID | name    |
+----+---------+----------+    +----+---------+
| 1  | Hub dub | 2        |    | 2  | hub dub |
| 2  | Test 2  | 2        |    +----+---------+
| 3  | Test 3  | 2        |
| 4  | Test 4  | 2        |
+----+---------+----------+

这里是查询:

SELECT DISTINCT a.*, b.name AS venue a 
FROM events b 
INNER JOIN venues ON a.venue_id = b.id 
WHERE a.name LIKE '%hub%' OR b.name LIKE '%hub%'

出于某种原因,在我更复杂的版本中,只返回事件 ID#1。

最佳答案

语法有点偏离。别名 (a) 需要在表之后(您在列别名之后有它)。

SELECT DISTINCT a.*, b.name AS venue 
FROM events b 
INNER JOIN venues a ON a.venue_id = b.id 
WHERE a.name LIKE '%hub%' OR b.name LIKE '%hub%'

关于MySQL 内部连接查询没有返回正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14024013/

相关文章:

mysql - 在控制台中键入 MySQL 语句时优雅地取消该语句

java - 哪个 Java 线程负责 PostgreSQL 数据库进程?

database - 如何从 Cloudant 数据库中删除所有文档,甚至删除 Bluemix 中的数据库

php - mysql 用户定义函数 - 如何在 PHP 中

php - 从数据库表中找到最后一行 start_date 和前一行 end_date?

javascript - Firebase 数据结构 - 访问每个用户的 jobID

mysql - INNER JOIN 与较小的 UPDATE 查询哪个更有效

SQL 内部连接在外部连接内;嵌套改变结果

sql - postgres 中的子查询或连接联合?

android - 服务器托管仅允许授权 IP 访问数据库