使用单个select查询,我需要获取标识列的最小值和最大值以及查询中指定的其他列如下所示,用于给定数据库中的所有表。使用单选查询获取数据库中所有表的标识列的最小值,最大值
这是我已经能够代码来获取表和自己的身份列的列表:
Select so.name as TableName
, sic.name as ColumnName
, i.Rows Count_NumberOfRecords
, IDENT_CURRENT(so.name)+IDENT_INCR(so.name) as NextSeedValue
from sys.identity_columns sic
inner join sys.objects so on sic.object_id = so.object_id
inner join sys.sysindexes I ON So.OBJECT_ID = I.ID
Where so.type_desc = 'USER_TABLE' and last_value is not null and indid IN (0,1);
查询需要得到这些额外列:
MaximumValue (IdentityColumn) and MinimumValue (IdentityColumn) for each table.
所以,你有什么问题?你能证明你到目前为止所尝试过的吗? – 2014-08-27 18:23:26
'选择so.name如表名 \t,sic.name作为的ColumnName \t,i.Rows Count_NumberOfRecords \t,IDENT_CURRENT(so.name)+ IDENT_INCR作为NextSeedValue \t从sys.identity_columns SIC \t(so.name)内连接sys.objects so sic.object_id = so.object_id \t inner join sys.sysindexes I ON So.OBJECT_ID = I.ID \t where so.type_desc ='USER_TABLE'and last_value is not null and indid IN(0 ,1)' – Aditya 2014-08-27 18:25:58
你还没有听说过聚合函数吗? – SSE 2014-08-27 18:26:50