那麼可以說我有一個消息實體,它具有字段發件人和收件人,兩者都由用戶實體的外鍵存儲在數據庫中。對於消息表的表結構可能是這樣的:SQL:如何在多列指向相同的其他表時進行連接?
id int(11) Not Null primary, autoincrement
sender int(11) Not Null
recipient int(11) Not Null
title varchar(50) Not Null
content varchar(1000) Not Null
datesent datetime Not Null
status varchar(10) Not Null
正如你看到的,該消息表有兩個外鍵(發件人和收件人),並都指向同一個用戶表。當然,我可以選擇延遲加載,因此不要編寫連接查詢,而是編寫兩個單獨的查詢來分別爲發件人和收件人加載用戶。如果我只是從表中加載一條消息,它工作正常,但是當您查看消息列表時,它可能會顯着影響性能。
那麼我怎麼能編寫一個SQL查詢加入消息表與用戶表,當我需要發件人和收件人列加入?任何人都知道完成這項任務的訣竅?
與用戶表連接兩次。提示,使用別名:) –