sql 查询结果中如何自定义属性列?
来源:百度知道 编辑:UC知道 时间:2024/05/17 22:07:35
比如我要查询一个表:select top 50 [id],[key],自定义属性列 from keywords Order by id desc
我想让查询的结果中,自定义的属性列只显示1-8的值,例如,第一行:自定义属性列为1;第八行为:8;第九行为1;请高人赐教,在线等,且立即送分!
我要的结果是查询后的属性列为1-8.而不是原数据库中定义的一个列!
我想让查询的结果中,自定义的属性列只显示1-8的值,例如,第一行:自定义属性列为1;第八行为:8;第九行为1;请高人赐教,在线等,且立即送分!
我要的结果是查询后的属性列为1-8.而不是原数据库中定义的一个列!
数据库没有“第几行”的概念。所以没法直接按楼主说的“第一行:自定义属性列为1;第八行为:8;第九行为1;”
比较折中的方法是通过id列来生成自定义属性列,前提是id列是自增的。
select top 50 [id],[key],id % 8+1 as 自定义属性列 from keywords Order by id desc
SELECT TOP 50 CONVERT(ID) AS ID,[KEY],IDENTITY(INT,1,1) AS 自定义属性列
INTO #TEMP
FROM KEYWORDS ORDER BY ID DESC
SELECT ID,(自定义属性列-1)%8+1 AS 自定义属性列 FROM #TEMP
DROP TABLE #TEMP
比较麻烦,必须通过存储过程加循环和临时表来做。。
我建议你换个思考方式,这样不好。
select top 50 [id] as 1,[key] as 2,........from keywords Order by id desc
自定义属性列改为数字型,在数据库中把它改为1-8的数字不就可以了/