0

我有以下数据库架构: http: //pastebin.com/tET8Wj17

我想进行查询,当我的 user_id 等于接收者或发送者_id 时获取所有消息,但也获取并获取 id_parent 消息。

我考虑过使用 INNER JOIN,但不能真正让它与同一张表一起使用。

4

2 回答 2

2

您可以在同一张表上进行 INNER JOIN - 您只需为每个表指定一个不同的别名。

SELECT t1.*, t2.*
FROM table1 as t1
INNER JOIN table1 as t2 ON t1.someField = t2.someField

像这样的自反连接可能会导致性能问题 - 请小心并确保您能够保持应用程序的性能。

于 2013-07-02T12:39:52.217 回答
2

自连接很简单,使用别名

SELECT *
FROM table1 a
INNER JOIN table1 b
ON a.id = b.parent_id
于 2013-07-02T12:40:05.690 回答