SQLSERVER 多个数据库,销售客户的销售合计
时间: 2023-02-16 22:36:23 浏览: 67
在 SQL Server 中,如果您想要查询多个数据库中的销售客户的销售合计,您可以使用下面的 SQL 语句:
```
SELECT SUM(sales) FROM [database_name].[schema_name].[table_name] WHERE customer_type = 'sales';
```
其中,`database_name` 是数据库的名称,`schema_name` 是表所属的模式的名称,`table_name` 是表的名称,`customer_type` 是表中的一个字段,表示客户类型,`sales` 是表中的另一个字段,表示销售额。
该语句会查询指定数据库中所有销售客户的销售总额,并将结果作为一个数字返回。
如果您想要查询多个数据库的销售合计,则可以将该语句包含在一个循环中,在循环的每次迭代中使用不同的数据库名称,然后将查询的结果累加起来,以获得所有数据库的销售合计。
例如,下面是一个使用 CTE 和循环实现的示例:
```
WITH cte AS (
SELECT name FROM sys.databases WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb')
)
SELECT @sales = COALESCE(@sales, 0) + (
SELECT SUM(sales) FROM [database_name].[schema_name].[table_name] WHERE customer_type = 'sales'
)
FROM cte
OPTION (MAXRECURSION 0)
```
在此示例中,CTE 名为 `cte`,它查询系统数据库中的所有数