我想在下面的查询中添加两列:
freespace/capacity
capacity-freespace
这是我的查询
SELECT SystemName, Caption, Label, Capacity, FreeSpace
FROM CCS_Win32_Volume
ORDER BY SystemName, Caption
USE [CentralConfigurationStore]
GO
将它添加到查询中或者在加入两个表之后执行它是更好的方法吗?
如果有人能帮我解决这个问题,我们将不胜感激!
答案 0 :(得分:2)
将计算字段直接添加到查询中时,计算字段不会增加太多开销,因为您正在计算的数据已经从磁盘中读取。
SELECT SystemName, Caption, Label, Capacity, FreeSpace,
100*freespace/capacity [% of free space],
capacity-freespace [used space]
FROM CCS_Win32_Volume
ORDER BY SystemName, Caption
答案 1 :(得分:1)
我认为问题是方法,而不是实际的T-SQL ......
除非您的查询在其他地方使用并且更改它可能会破坏某些内容,否则我会更新您现有的查询。 如果在其他地方使用它并且更新所有相关进程/查询将需要做大量工作,那么我将使用完整结果创建单独的查询。创建一个只包含计算值的查询似乎没什么意义,因为正如你所说的那样,你必须将它连接回原始查询,这似乎更无效。
无论如何,这只是我个人的意见。
此致
的Al。
答案 2 :(得分:-1)
只是别名计算机值。此外,您应该首先使用USE命令:
USE [CentralConfigurationStore]
SELECT SystemName, Caption, Label, Capacity
, FreeSpace, freespace/capacity AS FreeSpacePercent
, capacity-freespace AS UsedSpace
FROM CCS_Win32_Volume
ORDER BY SystemName, Caption