我有乙個許可權表xt_qxmx:(許可權序號,許可權名稱)
qxxh qxmc
1 發文填寫
2 發文審批
3 收文填寫
4 收文審批
許可權-人員對應表xt_qxry,如果某人有某個許可權,則在此表有條記錄
(序號,許可權序號,使用者名稱)
xh qxxh yhmc
1 2 張三
2 3 張三
(張三有兩個許可權,發文審批和收文填寫)
我想產生乙個這樣的查詢:列出張三有哪些許可權,同時列出所有的許可權.查詢結果如下:
qxxh qxmc 是否有此許可權
1 發文填寫 false
2 發文審批 true
3 收文填寫 true
4 收文審批 false
初步實現
select q.qxxh,q.qxmc,q.yhmc from
(select t.qxxh,t.qxmc,r.yhmc from xt_qxmx as t left outer join (select * from xt_qxry where yhmc='張三') as r on t.qxxh=r.qxxh) as q
不過顯示出來是這樣的:
qxxh qxmc 是否有此許可權
1 發文填寫 null
2 發文審批 張三
3 收文填寫 張三
4 收文審批 null
左連線 左外連線 右外連線
在之前,我對mssql中的內連線和外連線所得出的資料集不是很清楚。這幾天重新溫習了一下sql的書本,現在的思路應該是很清楚了,現在把自己的理解發出來給大家溫習下。希望和我一樣對sql的連線語句不太理解的朋友能夠有所幫助。發這麼菜的教程,各位大大們別笑話偶了,呵 d 有兩個表a和表b。表a結構如下 a...
連表查詢(內連線,左外連線,右外連線)
用兩個表 a table b table 關聯欄位a table.a id和b table.b id來演示一下mysql的內連線 外連線 左 外 連線 右 外 連線 全 外 連線 mysql版本 server version 5.6.31 mysql community server gpl 資料庫...
自然連線,外連線,左外連線,右外連線
1.自然連線 結果基於表r和s的笛卡爾乘積,取對應的r和s中相同屬性組都相同的值,同時相同屬性組只保留乙個 先來看圖示,2個表以及自然連線的結果 操作的步驟 1.1找出2個表中相同的屬性組 屬性a加上屬性b 1.2找相同屬性組中,相同的屬性值所對應的元組 相同的屬性值 1.2.相同屬性值對應的元組 ...