早教吧 育儿知识 作业答案 考试题库 百科 知识分享

数据库查询,一个表如何加减乘除计算结果后挑选出条件相等行?例如我有如下一个表:idyearnumbertext1201113dfsd12201116dfsd23201114dfsd34201111dfsd45201213dfsd36201215dfsd47201214dfsd38201216dfsd4

题目详情
数据库查询,一个表如何加减乘除计算结果后挑选出条件相等行?
例如我有如下一个表:
id year number text
1 2011 13 dfsd1
2 2011 16 dfsd2
3 2011 14 dfsd3
4 2011 11 dfsd4
5 2012 13 dfsd3
6 2012 15 dfsd4
7 2012 14 dfsd3
8 2012 16 dfsd4
想取得结果如下:
IDA IDB YEARA YEARB NumberA NumberB testA testB
1 5 2011 2012 13 13 dfsd1 dfsd3
2 8 2011 2012 16 16 dfsd2 dfsd4
3 7 2011 2012 14 14 dfsd3 dfsd3
查找条件:
Year字段等于Year-1的行的Number与之相同的行合并成上面的结果.
例如2011-1=2010,没有year字段等于2010,一直向下查询到2012-1=2011,查询2011所有行里是否有与Number相等的行.
▼优质解答
答案和解析
如果该表的year+number不唯一,则需要提供一个具有唯一值的字段或字段组.
现假设year,number唯一,sql语句写法如下:
select
a.[id] as IDA,b.[id] as IDB,a.[year] as YEARA,b.[year] as YEARB,
a.[number] as NumberA,b.[number] as NumberB,a.[text] as testA,b.[text] as testB
from [tab1] a ,[tab1] b
where a.[year]=(select top 1 x.[year] from [tab1] x where x.[number]=b.[number] and x.[year]>=b.[year]-1 order by x.[year]) and a.[number]=b.[number]
and a.[year]!=b.[year]
order by a.[id]
看了 数据库查询,一个表如何加减乘...的网友还看了以下:

如果一个直角三角形两条直角边分别长5厘米和3厘米.(1)以长边为轴旋转一周所得圆锥的底面直径是多少  2020-05-12 …

如图所示为杂技"顶竿"表演如图所示为杂技“顶竿”表演,一人站在地上,肩上扛一质量为M的竖直竹竿,当  2020-06-17 …

按要求给下列词语分类:恍然大悟表里如一聚精会神艰苦奋斗锲而不舍一心一意一如既往如梦初醒大彻大悟言按  2020-06-18 …

下列选项中,对“只有内正其心外修其行,才能表里如一”的理解不正确的是()A.若能内正其心外修其行,  2020-06-19 …

如果一颗星星代表一份快乐,我送你一条银河;如果一棵树代表一份思念,我送你一座森林;如果一滴水代表一  2020-07-04 …

“虚有其表”,“表里如一”,“一见如故”,“故弄玄虚”四个成语中每个汉字代表11个非零连续自然数中  2020-07-20 …

怎么计算平均值(增速)?假如一个国家只有两个省:A省第一年总产值10亿,第二年总产值12亿;B省第  2020-07-21 …

1.少先队参加植树劳动,每人植树2棵,如果一个人挖一个树坑需要25分钟,运树苗一趟(最多可运4棵)需  2020-11-10 …

公众人物应该还是不必表里如一拜托各位大神正方:公众人物应该表里如一反方:公众人物不必表里如一我方:不  2020-11-23 …

对下列词语或句子中的“表”的意思判断正确的是那一项1使人先表雍水2循表而夜涉3表里如一4以表心愿5为  2020-11-29 …