早教吧作业答案频道 -->数学-->
数据库查询,一个表如何加减乘除计算结果后挑选出条件相等行?例如我有如下一个表: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相等的行.
例如我有如下一个表:
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]
现假设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]
看了 数据库查询,一个表如何加减乘...的网友还看了以下:
有100个互不相同的正整数排成一圈,任意相邻两数之差(大减小)要么等于2,要么等于3有100个互不 2020-05-14 …
一个数与它自己相加、相减、相乘、相除后,所得的和、差、积、商都是100,这个数是多少?强调:相加、 2020-05-16 …
已知关于x的方程,kx平方减二括号k加1括号x加k减一等于零有两个不相等的实数根x1x2.(已知关 2020-05-16 …
两个矩阵相减的行列式和两个行列式的相减相等吗?|[A]-[B]|和|[A]|-|[B]两个矩阵相减 2020-05-20 …
小容研究数字相减结果的规律时,自己设计了一个“规律密码”:任意写出一个三位数----把它的三个数字 2020-06-03 …
四个加八个,十个减一个=几个? 2020-06-03 …
我发现一个数学规律,两个相同的整数相乘,一个加1一个减一再相乘结果比原来少1谁知道为什么? 2020-06-05 …
1X2X3+2X3X4+3X4X5+.+N(N+1)(N+2)要简便方法不要那个用微积分做的如题不 2020-06-25 …
1.一个数与它本身相加、相减、相除、所得的和、差、商相加的总和是11.2,这个数是( ).2.在一 2020-06-27 …
肥腻牛蛇是虎!在帮我个四一相聚猜一生肖是什么?白纸做的灯笼一点就亮什么意思?虎头蛇尾睇不清,千里行 2020-07-05 …