我有以下数据库架构: http: //pastebin.com/tET8Wj17
我想进行查询,当我的 user_id 等于接收者或发送者_id 时获取所有消息,但也获取并获取 id_parent 消息。
我考虑过使用 INNER JOIN,但不能真正让它与同一张表一起使用。
我有以下数据库架构: http: //pastebin.com/tET8Wj17
我想进行查询,当我的 user_id 等于接收者或发送者_id 时获取所有消息,但也获取并获取 id_parent 消息。
我考虑过使用 INNER JOIN,但不能真正让它与同一张表一起使用。
您可以在同一张表上进行 INNER JOIN - 您只需为每个表指定一个不同的别名。
SELECT t1.*, t2.*
FROM table1 as t1
INNER JOIN table1 as t2 ON t1.someField = t2.someField
像这样的自反连接可能会导致性能问题 - 请小心并确保您能够保持应用程序的性能。
自连接很简单,使用别名
SELECT *
FROM table1 a
INNER JOIN table1 b
ON a.id = b.parent_id