我有3個表格,tbl_topic,tbl_comment,tbl_user。 我想選擇用戶創建的所有主題,以及即使他不是創建者也評論過的主題。這裏是我的數據庫:如何加入3個表格,主題,評論和用戶
tbl_topic
----------
topic_id
topic_title
user_id
tbl_comment
----------
comment_id
comment_message
user_id
topic_id
tbl_user
----------
user_id
user_name
需要它如此糟糕。謝謝!
到目前爲止,我得到這個
select * from tbl_topic T inner join tbl_comment C on T.topic_id = C.topic_id inner join tbl_user U on T.user_id = U.user_id GROUP BY T.topic_id
我的問題是它只返回上有評論的主題。我想包含用戶創建的主題,即使它有0條評論。
我想要的結果是這樣的:
+-----------+-----------+----------+-------------+----------------+----------+-------
| topic_id | topic_title | user_id | comment_id | comment_message | user_id | topic_id |
+-----------+-----------+----------+-------------+----------------+----------+--------
| 1 | my topic | 1 | 1 | comment me | 1 | 1
| 2 | others | 2 | 2 | comment me | 1 | 2
| 3 | my nocoment| 1 | NULL | NULL | NULL | NULL
+-----------+---------+--------+-------------+----------+----------+---------+--------
----------+-----------+
user_id | user_name |
-----------+-----------
1 | me |
2 | someone |
1 | me
-----------+---------+--
我在表搞砸我的領域,comment_message旁邊的USER_ID應comment_user_id但我已經創建了數據庫的方式。你能幫助做到這一點嗎?
更好的貼你已經嘗試過..! – goseo
你指的是用戶完成的活動,我是對嗎? –
如果出現這種情況,您必須使用左外連接進行評論,然後使用UNION進行活動。 –