|
問題來自于《SQL puzzles and answers》一書的第36個Puzzle。問題的描述很簡單,書中給出了很多種解答,我只能想到其中的1、2種,故在這里進行一下分享。有意思的是書中的解法1是無法通過SQL解析的,大家可以查看原書并進行嘗試。本文中的解法在SQL Server 2008中測試通過,可能與原書有部分差異。
問題描述
我們有一張權(quán)責表:
person | role |
Smith | O |
Smith | D |
Jones | O |
White | D |
Brown | X |
表中包含2列,person列中存儲人名,role列中存儲職責代碼,O代表Officer,D代表Director等等。創(chuàng)建表的腳本:
use tempdb;
create table Roles
(
person char(5) not null,
role char(1) not null
);
insert into
Roles
(
person,
role
)
values
('Smith', 'O'),
('Smith', 'D'),
('Jones', 'O'),
('White', 'D'),
('Brown', 'X');
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。