我创建了一个表managers
:
create table managers(
ManagerId int identity(1,1) not for replication not null,
M_name varchar(20),
Salary varchar(20),
joining_year varchar(20),
city varchar(20),
IdCode int
)
然后在此表中插入一些数据:
ManagerId | M_name | Salary | joining_year | city | IdCode
----------------------------------------------------------------------
1 | riva | 50000 | 1998 | pune | 4
2 | tanmay | 48500 | 1990 |gurgaon | 2
3 | david | 49000 | 2001 | goa | 2
4 | null | null | null | null | null
5 | null | null | null | null | null
6 | dannial | 52185 | 2010 | kanpur | 6
并有第二张表managerEmp
create table managerEmp(
employeId int identity(1,1) not for replication not null,
family_member varchar(20),
wife_name varchar(20),
age int
)
我在该表中有一些数据:
employeId | family_member |wife_name | age
--------------------------------------------
1 | 6 |mrs.kapoor| 31
2 | 5 |mrs.mishra| 25
3 | null |nll | null
4 | 2 |mrs.khan | 21
5 | 4 |mrs.bajaj | 22
现在,我想从该表中选择不常见的数据。结果将是:
M_name | Salary | city | wife_name | age
-----------------------------------------
null | null | null | mrs.khan | 21
null | null | null | mrs.bajaj | 22
dannial| 52185 |kanpur| null |null
答案 0 :(得分:1)
根据您的输出进行查询:
from functools import reduce # Okay, okay, 2 lines!
reduce (lambda r, x: r + [{'weekday_name': days_of_the_week[x]}] if x in days_of_the_week
else r + [{'weekday_name': r[-1]['weekday_name'], 'starting_time': x}] if len(r[-1]) == 3
else (r[-1].update({'starting_time': x}), r)[1] if len(r[-1]) == 1
else (r[-1].update({'ending_time': x}), r)[1],
filter(lambda x: x in days_of_the_week or x[0].isdigit(), input_array), [])
链接到SQL小提琴http://sqlfiddle.com/#!6/e1776/1