查找没有特定列名的所有表

Col*_*lue 12 sql sql-server

所以,我已经看到很多关于查找具有特定列名的表的问题.但是,我正在尝试查找没有特定列的所有表.(在这种情况下,EndDate).是否有一个更优雅的解决方案,而不仅仅是找到该列的所有表,并将其与所有表的列表进行比较?

Tom*_*m H 15

SELECT
    table_name
FROM
    INFORMATION_SCHEMA.TABLES T
WHERE
    T.TABLE_CATALOG = 'MyDB' AND
    T.TABLE_TYPE = 'BASE TABLE' AND
    NOT EXISTS (
        SELECT *
        FROM INFORMATION_SCHEMA.COLUMNS C
        WHERE
            C.TABLE_CATALOG = T.TABLE_CATALOG AND
            C.TABLE_SCHEMA = T.TABLE_SCHEMA AND
            C.TABLE_NAME = T.TABLE_NAME AND
            C.COLUMN_NAME = 'EndDate')
Run Code Online (Sandbox Code Playgroud)