一条sql语句获得子查询中的第二行数据
如何用一条leftjoin语句关联得到子查询中的第二行数据表如下:emply表字段eid,name,sex1,n1,12,n2,1marry表字段mid,matename...
如何用一条left join语句关联得到子查询中的第二行数据
表如下:
emply表
字段eid ,name,sex
1,n1,1
2,n2,1
marry表
字段mid,matename,marry_time,eid
1 , m1 ,1981-10-28,1
2 , m2 ,1988-11-11,1
3 , m3 ,2003-03-11,1
4 , mm1 ,1688-01-01,2
5 , mm2 ,1811-04-11,2
如何显示:雇员名称,雇员的结婚时间排在正数或者倒数第2位的配偶姓名
name ,matename
求高人指点!!
数据库为oracle10g ,name:雇员姓名,sex:性别,matename:配偶姓名,marry_time:结婚日期
我想显示的结果为
name,matename
1 n1 , m2
2 n2 , mm2 展开
表如下:
emply表
字段eid ,name,sex
1,n1,1
2,n2,1
marry表
字段mid,matename,marry_time,eid
1 , m1 ,1981-10-28,1
2 , m2 ,1988-11-11,1
3 , m3 ,2003-03-11,1
4 , mm1 ,1688-01-01,2
5 , mm2 ,1811-04-11,2
如何显示:雇员名称,雇员的结婚时间排在正数或者倒数第2位的配偶姓名
name ,matename
求高人指点!!
数据库为oracle10g ,name:雇员姓名,sex:性别,matename:配偶姓名,marry_time:结婚日期
我想显示的结果为
name,matename
1 n1 , m2
2 n2 , mm2 展开
展开全部
正数第2位
SELECT
emply.name,
marry.matename
FROM
emply,
marry,
(SELECT
tmp_table2.eid as eid,
MIN(tmp_table2.marry_time) as min_marry_time
FROM
(SELECT
marry.eid as eid,
marry.marry_time as marry_time
FROM
marry,
(SELECT
eid,
MIN(marry_time) as min_marry_time
FROM
marry
GROUP BY eid) tmp_table
WHERE
marry.marry_time > tmp_table.min_marry_time
AND marry.eid = tmp_table.eid) tmp_table2
GROUP BY tmp_table2.eid) tmp_table3
WHERE
emply.eid = marry.eid
AND marry.eid = tmp_table3.eid
AND marry.marry_time = tmp_table3.min_marry_time
如果你理解了,倒数第2位的你自己就可以写了
补充;
1,我写的比较原始,可能有可能有更高级的方法,带你自己发掘了
2,为什么n2 这个人会横跨3个世纪和2个人结婚?
SELECT
emply.name,
marry.matename
FROM
emply,
marry,
(SELECT
tmp_table2.eid as eid,
MIN(tmp_table2.marry_time) as min_marry_time
FROM
(SELECT
marry.eid as eid,
marry.marry_time as marry_time
FROM
marry,
(SELECT
eid,
MIN(marry_time) as min_marry_time
FROM
marry
GROUP BY eid) tmp_table
WHERE
marry.marry_time > tmp_table.min_marry_time
AND marry.eid = tmp_table.eid) tmp_table2
GROUP BY tmp_table2.eid) tmp_table3
WHERE
emply.eid = marry.eid
AND marry.eid = tmp_table3.eid
AND marry.marry_time = tmp_table3.min_marry_time
如果你理解了,倒数第2位的你自己就可以写了
补充;
1,我写的比较原始,可能有可能有更高级的方法,带你自己发掘了
2,为什么n2 这个人会横跨3个世纪和2个人结婚?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询