我有查询,列出在我的数据库中的所有表各自的指标:SQL递归指数调查结果查询
SELECT
TableName = t.name,
IndexName = ind.name,
IndexId = ind.index_id,
ColumnId = ic.index_column_id,
ColumnName = col.name,
ind.*,
ic.*,
col.*
FROM
sys.indexes ind
INNER JOIN
sys.index_columns ic ON ind.object_id = ic.object_id and ind.index_id = ic.index_id
INNER JOIN
sys.columns col ON ic.object_id = col.object_id and ic.column_id = col.column_id
INNER JOIN
sys.tables t ON ind.object_id = t.object_id
WHERE
ind.is_primary_key = 0
AND ind.is_unique = 0
AND ind.is_unique_constraint = 0
AND t.is_ms_shipped = 0
我得到的输出是这样的:
TableName -> contain Table names in DB ColumName -> contain Index column name for each table in DB
我的目标是绘制备案和最后一个(最大)的ColumnName值的每"TableName" + "ColumnName"
TOT数。
你有任何想法如何递归地产生这样的结果在一个单一的查询? 谢谢!
*“为每个绘图”TableName“+”ColumnName“记录的TOT编号和最后一个(最大)ColumnName值。”*:我不知道这意味着什么。你可以在你的问题中包含表格,因为你希望输出是? – trincot
刚刚添加。基本上从主查询,我需要每各表名以及每个的ColumnName迭代并获得记录和最后一个值的TOT数。 – user3925023
@ user3925023 - 每个表都有主键? – Poonam