计算表中的列数并计算联合表中的列数

时间:2018-08-14 14:16:19

标签: sql ssms-2014

我正在使用SSMS 2014,我想做两件事:

i)计算称为“ aggregatedsaleshistory”的表中的列数。

我知道我必须写类似的东西。您能在错误的地方修改代码吗?

select count (*) from aggregatedsaleshistory where table_name ='aggregatedsaleshistory'

ii)计算该表已连接到另一个表的列数。

例如,使用下面的代码,我从“企业结构”视图中获取“类别”和“子类别”数据,并从“汇总销售历史记录”表中获取它们的“单位”和“现金销售额”之和。

select
    es.CategoryName,
    es.SubCategoryName,   
    format(sum(ash.Sales), '#,###') as Units,
    format(sum(ash.price * ash.Sales), '#,###') as CashSales 
from AggregatedSalesHistory as ash
join v_EnterpriseStructure as es on es.ProductSID = ash.ProductSID  
GROUP BY
    CategoryName,
    SubCategoryName
ORDER BY
    CategoryName,
    SubCategoryName

我在网站上发现的有关计数列的示例尚不清楚。

先谢谢了。

1 个答案:

答案 0 :(得分:1)

对于 情况1)

SELECT COUNT(COLUMN_NAME) 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_CATALOG = 'database' AND TABLE_SCHEMA = 'dbo'
AND TABLE_NAME = 'aggregatedsaleshistory '