双重职责问题

  问题来自于《SQL puzzles and answers》一书的第36个Puzzle。问题的描述很简单,书中给出了很多种解答,我只能想到其中的1、2种,故在这里进行一下分享。有意思的是书中的解法1是无法通过SQL解析的,大家可以查看原书并进行尝试。本文中的解法在SQL Server 2008中测试通过,可能与原书有部分差异。

  问题描述

  我们有一张权责表:

personrole
SmithO
SmithD
JonesO
WhiteD
BrownX

  表中包含2列,person列中存储人名,role列中存储职责代码,O代表Officer,D代表Director等等。创建表的脚本:

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');

it知识库双重职责问题,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。