Sql 在一行中插入两个select查询
我有两个select语句,它们都有一些公共字段 这是我的表格结构:Sql 在一行中插入两个select查询,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有两个select语句,它们都有一些公共字段 这是我的表格结构: Id, year, valueA, ValueB 这是我的两条选择语句 SELECT id, [year], SUM(Total_Volume) / (count(distinct(month)) * 7) FROM TableA GROUP BY id, [year] 及 对于两个语句,我有两个不同的条件Id和年份在这两种语句中都很常见 第一个select语句的结果应存储在列valu
Id, year, valueA, ValueB
这是我的两条选择语句
SELECT
id, [year],
SUM(Total_Volume) / (count(distinct(month)) * 7)
FROM
TableA
GROUP BY
id, [year]
及
对于两个语句,我有两个不同的条件<代码>Id和年份
在这两种语句中都很常见
第一个select语句的结果应存储在列valueA
中,第二个select语句的结果应存储在ValueB
中
有没有可能合并这些查询并将它们作为单个语句插入表中?您可以在单个查询中同时执行这两个计算
SELECT a.id ,a.[year],valA,valB
from(
SELECT id ,[year],SUM(Total_Volume)/ (count(distinct(month))*7) valA from TableA
group by id,[year]) a INNER JOIN
(select id,[year],SUM(Total_volume)/(count(distinct(month))*5) valB
from TableA
WHERE weekday NOT IN ('Friday','Saturday')
group by station_id,[year]) b
on a.id=b.id and a.[year]=b.[year]
SELECT id,
[year],
Sum(total_volume) / ( Count(DISTINCT( Month)) * 7 ),
Sum(CASE
WHEN weekday NOT IN ('Friday', 'Saturday' ) THEN
total_volume
ELSE 0
END) / (Count(DISTINCT( Month)) * 5 )
FROM tableA
GROUP BY id,
[year];
您可以在一个查询中完成这两个计算
SELECT id,
[year],
Sum(total_volume) / ( Count(DISTINCT( Month)) * 7 ),
Sum(CASE
WHEN weekday NOT IN ('Friday', 'Saturday' ) THEN
total_volume
ELSE 0
END) / (Count(DISTINCT( Month)) * 5 )
FROM tableA
GROUP BY id,
[year];
您可以在一个查询中完成这两个计算
SELECT id,
[year],
Sum(total_volume) / ( Count(DISTINCT( Month)) * 7 ),
Sum(CASE
WHEN weekday NOT IN ('Friday', 'Saturday' ) THEN
total_volume
ELSE 0
END) / (Count(DISTINCT( Month)) * 5 )
FROM tableA
GROUP BY id,
[year];
您可以在一个查询中完成这两个计算
SELECT id,
[year],
Sum(total_volume) / ( Count(DISTINCT( Month)) * 7 ),
Sum(CASE
WHEN weekday NOT IN ('Friday', 'Saturday' ) THEN
total_volume
ELSE 0
END) / (Count(DISTINCT( Month)) * 5 )
FROM tableA
GROUP BY id,
[year];