sql 解決一種checked(選中)問題

2021-10-09 14:26:32 字數 778 閱讀 4930

解決所有管理員中,哪些管理員是繫結角色a的

解決方案(子查詢+左連線+isnull()函式):

第一步:子查詢使admin和role做inner join,選出的admin'必然是繫結了角色的

第二步:外部查詢使用所有的admin和之前選出的admin'做left join,admin中沒有連線上admin'的,必然是沒有繫結role的admin

第三步:沒有連線上的temp.id為null,使用isnull()函式,轉換成標誌字段

isnull(column)為null是1 ,不為null是0

具體例子

select

admin.*, !isnull(temp.id) as rolechecked

from

mgt_administrator as admin

left join (

select

a.id as id

from

mgt_role as r

inner join

mgt_role_admin_ref as raf on raf.role_id = r.id

inner join

mgt_administrator as a on a.id = raf.admin_id

where

r.id = #

)  temp on admin.id = temp.id

有的選是一種幸福

隨著計算機網際網路越來越貼近生活,越來越方便生活,越來越讓生活更加有質量,更加自由和放鬆,作業系統和資料庫作為計算機軟體世界的巔峰之作,它們的發展也與時俱進,除了傳統的關係型資料庫的不斷增強和發展,還誕生了許多新的資料庫型別,針對特定的應用場景,這些新誕生的資料庫更加適用。如果,世界是多樣的,那麼用...

sql備份的一種解決方案

1 新建檔案,備份資料庫.bat 內容 rem servername是伺服器名稱,需要替換為實際伺服器名稱 rem net start命令可啟動backupserver,避免backupserver被意外關閉後導致自動dump失敗 net start mssqlserver isql u user ...

換一種思路解決問題

今天看到這樣乙個問題 我的資料表中有以下記錄 id type time amount 1 1 080101 100 2 1 080102 20 3 2 080101 30 4 2 080103 50 5 1 080105 10 我想在水晶報表中,用 柱圖 表示,用time和type做分組,目前顯示效...