读书人

请问一个sql很有意思

发布时间: 2013-08-10 21:14:06 作者: rapoo

请教一个sql,很有意思
原表

身份姓名国家
小贩小王中国
杀手小王中国
司机小李中国
保镖小李中国
厨师小赵中国
教师小赵中国
形象大使甜甜日本
av甜甜日本
卖肉美美日本
首相美美日本
小贩小王日本
杀手小王日本

求表


姓名身份1身份2国家
小王小贩杀手中国
小李司机保镖中国
小赵厨师教师中国
甜甜形象大使av日本
美美卖肉首相日本
小王小贩杀手日本


请大家看看,有什么好方法,谢谢!
[解决办法]
建表时加上了id
select b.name,b.身份1,c.身份2,b.gj from(
select name,gj,sf 身份1 from a3 where id in(
select MIN(id) from a3
group by name,gj)) b
inner join
(
select name,gj,sf 身份2 from a3 where id in(
select Max(id) from a3
group by name,gj)) c on b.name = c.name and b.gj=c.gj
[解决办法]
select b.Name,b.ID as 身份1,c.ID as 身份2,b.Guo from(
select Name,Guo,ID from Table_1 where ID in(
select MIN(ID) from Table_1
group by Name,Guo)) b
inner join
(
select Name,Guo,ID from Table_1 where ID in(
select Max(ID) from Table_1
group by Name,Guo)) c on b.Name = c.Name and b.Guo=c.Guo
[解决办法]

引用:
建表时加上了id
select b.name,b.身份1,c.身份2,b.gj from(
select name,gj,sf 身份1 from a3 where id in(
select MIN(id) from a3
group by name,gj)) b
inner join
(
select name,gj,sf 身份2 from a3 whe……
正解
[解决办法]
select b.Name,b.ID as 身份1,c.ID as 身份2,b.Guo from(
select Name,Guo,ID from Table_1 where ID in(
select MIN(ID) from Table_1
group by Name,Guo)) b
inner join


(
select Name,Guo,ID from Table_1 where ID in(
select Max(ID) from Table_1
group by Name,Guo)) c on b.Name = c.Name and b.Guo=c.Guo

读书人网 >.NET

热点推荐