加入我有以下的數據庫模式:http://pastebin.com/tET8Wj17MySQL的內部在同一個表
我想進行查詢,讓所有的消息時,我的user_id等於接收器或SENDER_ID,但也需要和獲取id_parent信息。
我曾考慮過使用INNER JOIN,但是無法真正將它用於同一張表。
加入我有以下的數據庫模式:http://pastebin.com/tET8Wj17MySQL的內部在同一個表
我想進行查詢,讓所有的消息時,我的user_id等於接收器或SENDER_ID,但也需要和獲取id_parent信息。
我曾考慮過使用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
使用sqlfiddle而不是引擎收錄 - 爲這種事情更友好。 – Strawberry
這裏是SQLfiddle(據我所知,沒有能力在SQLfiddle中進行約束):http://sqlfiddle.com/#!2/db149 – nrathaus