Sql server SQL列出索引中没有特定列的所有表

Sql server SQL列出索引中没有特定列的所有表,sql-server,Sql Server,我想列出索引中不包含特定列但该列存在于表架构中的所有表 我引用了,但查询列出了包含所有索引的所有表 例如,如果表架构包含列“Date”,而索引不包含列“Date”,则我希望在结果中列出此表。您希望列没有任何索引??是的,我只想检查一个特定列,我想起草一个查询,列出所有在其模式中没有带“Date”的索引(尽管它们有列Date)的表 DECLARE @search_column SYSNAME; SET @search_column = 'Date'; SELECT s.name AS [Sch

我想列出索引中不包含特定列但该列存在于表架构中的所有表

我引用了,但查询列出了包含所有索引的所有表


例如,如果表架构包含列“Date”,而索引不包含列“Date”,则我希望在结果中列出此表。

您希望列没有任何索引??是的,我只想检查一个特定列,我想起草一个查询,列出所有在其模式中没有带“Date”的索引(尽管它们有列Date)的表
DECLARE @search_column SYSNAME;

SET @search_column = 'Date';

SELECT s.name AS [Schema], t.name AS [Table]
FROM
    sys.schemas s
        INNER JOIN sys.tables t ON
            t.[schema_id] = s.[schema_id]
        INNER JOIN sys.columns c ON
            c.[object_id] = t.[object_id]
WHERE
    c.name = @search_column AND
    NOT EXISTS
    (
        SELECT *
        FROM
            sys.indexes i
                INNER JOIN sys.index_columns ic ON
                    ic.[object_id] = i.[object_id] AND
                    ic.index_id = i.index_id
        WHERE
            i.[object_id] = t.[object_id] AND
            ic.column_id = c.column_id
    )
ORDER BY
    s.name,
    t.name;