專案中遇到多表關聯查詢,device_info與device_oper是一對多關係,project_info,branch_info與device_info是一對多關係。多表的查詢
select
o.*,
d.devicename,
p.projectname,
b.`branchname`,
r.`releaseid`
from
device_oper o
left
join device_info d
on o.deviceid = d.id
inner
join project_info p
on d.projectid = p.`id`
inner
join branch_info b
on d.`branchid` = b.`id`
inner
join release_info r
on d.`releaseid` = r.releaseid
多表關聯查詢通常會將關聯查詢結果作為乙個表再進行連線查詢
select
c.devicename,
c.devicetype,
c.projectname,
c.branchname
from
device_oper as a
left
join
(select
a.id as deviceid,
a.devicename as devicename,
a.devicetype as devicetype,
b.projectname as projectname,
c.branchname as branchname
from
device_info as a
left
join project_info as b
on a.projectid = b.id
left
join branch_info as c
on a.branchid = c.id) as c
on a.deviceid = c.deviceid
sql多表關聯
student表,score表,student的id欄位和score的studentid欄位關聯。student表中有1,2,而score表中有2,3。student表中有score表中沒有的1,score表中有student表中沒有的3.有乙個交集是2。drop table student cre...
SQL多表關聯查詢
關於 有時候,我們查詢資料時,會採用多資料庫關聯查詢的方式。資料庫通過連線兩張表或多張表查詢時,會生成一張臨時的中間表,然後返回給使用者的就是這張臨時表的資料。那麼具體怎麼操作呢?我們可以採用left join,搭配on where來實現。具體備註 1.on條件是在生成臨時表時使用的條件,它不管on...
多表關聯更新
用優惠表裡面的70006569的優惠的開始時間 來更新lik.temp yangmm 1115 discnt 的開始時間。這就出現問題了第乙個問題 同乙個使用者的70006569 優惠的開始時間可能有好幾個 取哪乙個?這就需要rank 函式來解決。第二個問題更新的時候會出現無法將null值插入.這個...