我只想返回Event_site_tag_lu表中的事件。但我的声明正在归还所有事件。
活动表
---+
Id |
---+
1 |
2 |
3 |
---+
Event_site_tag_lu表
---------+
event_id |
---------+
1 |
---------+
我的查询是
SELECT `id` FROM event LEFT JOIN event_site_tag_lu ON event.id = event_site_tag_lu.event_id
答案 0 :(得分:2)
所以你真的不需要左连接 - 内连接将完成工作。
答案 1 :(得分:1)
将LEFT更改为INNER
LEFT JOIN返回左表中的所有行和匹配
INNER JOIN仅返回匹配
答案 2 :(得分:1)
LEFT JOIN(某些数据库LEFT OUTER JOIN)返回关系中第一个表中的所有行和来自其他表的匹配数据,否则为特定行中的null,表示关系中第二个表的数据
你在寻找什么只是JOIN(INNER JOIN),只会获得两个表中匹配的行
SELECT event_test.*
FROM event_test
JOIN log
ON event_test.id = log.id
此外,如果您只查看日志中的事件而不是特定数据,您可以编写如下内容
SELECT DISTINCT id from log