多表聯查時兩表關聯第三表同一ID的問題解決方法

2021-04-19 03:55:04 字數 1165 閱讀 8892

多表聯查時兩表關聯第三表同一id的問題解決方法

用示例來說明問題更好些,可以參照下面的關係圖和**來幫助理解。

只是在原有基礎上再新增乙個bbsusers表的別名引用就行了。問題也很簡單,就不多說了!

資料庫關係圖如下:

**如下:

--根據固定的id值,查詢顯示主帖的標題、作者姓名、內容,所有的跟帖的標題、跟帖人的姓名、跟帖內容、跟帖時間

select t.ttopic as '主帖標題', tu.uname as '作者姓名', t.tcontents as '內容',

r.rtopic as '跟帖標題', ru.uname as '跟帖人姓名', r.rcontents as '跟帖內容', r.rtime as '跟帖時間'

from bbstopic as t, bbsreply as r, bbsusers as tu, bbsusers as ru

where t.tid = r.rtid and tu.uid = t.tuid and ru.uid = r.ruid and t.tid = 2

order by r.rtime

--或:

select t.ttopic as '主帖標題', tu.uname as '作者姓名', t.tcontents as '內容',

r.rtopic as '跟帖標題', ru.uname as '跟帖人姓名', r.rcontents as '跟帖內容', r.rtime as '跟帖時間'

from bbstopic as t

inner join bbsreply as r

on t.tid = r.rtid

inner join bbsusers as tu

on tu.uid = t.tuid

inner join bbsusers as ru

on ru.uid = r.ruid

where t.tid = 2

order by r.rtime

oracle 兩表關聯查詢

情景描述 查詢學生表student,sname,age資訊及所在班級clazz表 select sname,age,cname from student t1 left join clazz t2 on t1.cid t2.cid select sname,age,cname from studen...

兩個MYSQL表關聯查詢

高階sql語句inner join 非常實用 在接觸這個語句之前 我要到資料庫查詢不同表的 內容我一般需要執行2次sql語句 迴圈2次。而現在有了這個語句 可以簡化成只執行1次語句 迴圈一次 result mysql query select states.state id,states.state...

兩個MYSQL表關聯查詢

高階sql語句inner join 非常實用 在接觸這個語句之前 我要到資料庫查詢不同表的 內容我一般需要執行2次sql語句 迴圈2次。而現在有了這個語句 可以簡化成只執行1次語句 迴圈一次 result mysql query select states.state id,states.state...