Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 动态获取SQL列值_Sql Server 2008 - Fatal编程技术网

Sql server 2008 动态获取SQL列值

Sql server 2008 动态获取SQL列值,sql-server-2008,Sql Server 2008,我在表a中有一列。列名是序号。表A的结构是1,2,3,4…3600之间的数字 现在以表A为基础,我想从SQLServer2008的SQLSelect查询中得到以下输出 seq no dynamic col 1 1 2 1 3 1 4 1 5 1 6 2 7 2 8 2 9 2 10 2 11

我在表a中有一列。列名是序号。表A的结构是1,2,3,4…3600之间的数字

现在以表A为基础,我想从SQLServer2008的SQLSelect查询中得到以下输出

seq no      dynamic col
1           1
2           1
3           1
4           1
5           1
6           2
7           2
8           2
9           2
10          2
11          2
12          3
13          3
我的第二列是在运行时生成的。 业务逻辑是,如果seq number mod 6=0,则增加动态列的值


提前感谢

将此作为伪代码,因为我不太熟悉SQL Server,但它应该给您提供一些参考

SELECT
    seq_no,
    ROUNDDOWN(seq_no/6)+1 AS dynamic_col
FROM
    my_table

将此作为伪代码,因为我不太熟悉SQL Server,但它应该给您提供一些参考

SELECT
    seq_no,
    ROUNDDOWN(seq_no/6)+1 AS dynamic_col
FROM
    my_table
试试这个:

select seqno, (seqno/6) +1  dynamiccol
from t
试试这个:

select seqno, (seqno/6) +1  dynamiccol
from t

感谢您的快速回复……实际上我想创建一个变量,然后在SELECT STATTION中增加变量的值。但是我不知道怎么做。谢谢你的快速回复…实际上我想创建一个变量,然后在select station中增加变量的值。我也不明白,它不漂亮,但能胜任这份工作,但现在我的问题是如果。。我的序列号列包含如下所示的名称,我想要下面列出的格式的数据。我也不明白,它不漂亮,但它确实有用,但现在我的问题是如果。。我的序列号列包含以下名称,我需要以下列出格式的数据。谢谢先生。。你节省了我的时间。现在我可以睡个好觉了很好。。但现在我的问题是,如果我的序列号列包含以下格式的数据,并且我希望动态列如清单所示。。seq no dynamic col Abc 6 Axz 6 Ayc 6 Bnk 7 Bhk 7 Cxl 8 Cgh 8 col 8 Cdf 8 Drf 9 Der 9 Dre 9 Dsal 9 Dex 9 Efg 10此处的逻辑表示,如果序列号列的第一个字符发生变化,则按oneNo递增该值,如果这是所有数据,则不会。只需获取列中的第一个字符,获取其ASCII值并执行线性变换即可获得所需的结果。仅此一项就应该有所帮助,但如果您需要更多超出此问题范围的内容,那么请您确定可以执行哪种类型的线性变换来获得上述输出,您可以使用此项来解决这一问题。用第一个字母的ascii值减去一些数字,得到您要查找的动态列值。谢谢,先生。。你节省了我的时间。现在我可以睡个好觉了很好。。但现在我的问题是,如果我的序列号列包含以下格式的数据,并且我希望动态列如清单所示。。seq no dynamic col Abc 6 Axz 6 Ayc 6 Bnk 7 Bhk 7 Cxl 8 Cgh 8 col 8 Cdf 8 Drf 9 Der 9 Dre 9 Dsal 9 Dex 9 Efg 10此处的逻辑表示,如果序列号列的第一个字符发生变化,则按oneNo递增该值,如果这是所有数据,则不会。只需获取列中的第一个字符,获取其ASCII值并执行线性变换即可获得所需的结果。仅此一项就应该有所帮助,但如果您需要更多超出此问题范围的内容,那么请您确定可以执行哪种类型的线性变换来获得上述输出,您可以使用此项来解决这一问题。用第一个字母的ascii值减去一些数字,得到您要查找的动态列值。