我想進行查詢,為每個用戶添加來自 id 為 0 的用戶(id_user,默認用戶)的所有 id_job、id_role 對。在mysql中可以嗎?
用戶角色表
| id_user | id_job | id_role |
|---|---|---|
| 0 | 1 | 1 |
| 0 | 2 | 2 |
| 1 | 1 | 1 |
| 1 | 2 | 2 |
| 2 | 3 | 1 |
這些是我想去的日期。正如您在第一個表中看到的那樣,對于 id 為 2 的用戶,我們沒有 id_job 和 id_role [(1,1), (2,2)] 我想運行一個查詢來填充缺失的對這個用戶。
user_role_updated表
| id_user | id_job | id_role |
|---|---|---|
| 0 | 1 | 1 |
| 0 | 2 | 2 |
| 1 | 1 | 1 |
| 1 | 2 | 2 |
| 2 | 3 | 1 |
| 2 | 1 | 1 |
| 2 | 2 | 2 |
先感謝您!
uj5u.com熱心網友回復:
insert into user_role(id_user, id_job, id_role)
with cte_0 as(select id_user
, id_job
, id_role
from user_role
where id_user = 0)
select distinct ur.id_user
, cte_0.id_job
, cte_0.id_role
from user_role ur
, cte_0
where ur.id_user <> 0
and (ur.id_user, cte_0.id_job, cte_0.id_role) not in (select id_user, id_job, id_role from user_role where id_user <> 0)
這是一個演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/481003.html
上一篇:Git在切換分支時洗掉檔案
