SQL:计算所有表中的列数,不包括视图

Rem*_*mus 11 sql sql-server-2005

我正在创建一个返回每个表中列数的查询,但我想排除视图.

以下工作但返回查看结果:

SELECT COUNT(*), table_name
FROM INFORMATION_SCHEMA.COLUMNS
Group By table_name
Run Code Online (Sandbox Code Playgroud)

有什么建议?

注意:MSSQL 2005+

Con*_*rix 16

这假设SQL 2005或更高版本

SELECT 
    t.name,
    count(c.name)
FROM 

    sys.tables t 
    inner join sys.columns c
    ON t.object_id = c.object_id


group by t.name
Run Code Online (Sandbox Code Playgroud)