Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在一行中插入两个select查询_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql 在一行中插入两个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

我有两个select语句,它们都有一些公共字段

这是我的表格结构:

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];