我有以下数据库架构:http://pastebin.com/tET8Wj17
我想进行查询,当我的user_id等于receiver或sender_id时获取所有消息,但也获取并获取id_parent消息。
我考虑过使用INNER JOIN,但不能真正使用同一个表。
答案 0 :(得分:2)
您可以在同一个表上进行INNER JOIN - 您只需要为每个表提供一个独特的别名。
SELECT t1.*, t2.*
FROM table1 as t1
INNER JOIN table1 as t2 ON t1.someField = t2.someField
这样的反身连接可能会导致性能问题 - 请小心并确保您能够保持应用程序的性能。
答案 1 :(得分:2)
使用别名
进行自联接非常简单SELECT *
FROM table1 a
INNER JOIN table1 b
ON a.id = b.parent_id