Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.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_Merge_Sql Server 2012 - Fatal编程技术网

Sql 合并两个SELECT查询并在一个表中显示数据?

Sql 合并两个SELECT查询并在一个表中显示数据?,sql,merge,sql-server-2012,Sql,Merge,Sql Server 2012,以下查询正在显示来自两个表的数据,工作正常,但我希望合并结果并在单个表中显示输出: SELECT ITEM_MODEL, QUANTITY FROM ITEMS_MASTER WHERE ITEM_MODEL = 'keyboard' SELECT AVG(RATE) AS Avg_Rate, SUM(AMOUNT) AS TOTAL_AMOUNT FROM ITEM_DETAILS WHERE ITEM_MODEL = '

以下查询正在显示来自两个表的数据,工作正常,但我希望合并结果并在单个表中显示输出:

SELECT 
    ITEM_MODEL, QUANTITY 
FROM
    ITEMS_MASTER 
WHERE 
    ITEM_MODEL = 'keyboard' 

SELECT
    AVG(RATE) AS Avg_Rate,
    SUM(AMOUNT) AS TOTAL_AMOUNT 
FROM
    ITEM_DETAILS 
WHERE
    ITEM_MODEL = 'keyboard' 
GROUP BY 
    ITEM_MODEL
做这件事的可能方法是什么我对SQL非常陌生,所以请指导我如何做。提前谢谢。我正在使用SQL Server 2012。

试试这个

Select ITEM_MODEL,QUANTITY 
from ITEMS_MASTER t join(
                           Select ITEM_MODEL,AVG(RATE) as Avg_Rate,SUM(AMOUNT) as                               TOTAL_AMOUNT from ITEM_DETAILS 
where ITEM_MODEL= 'keyboard' Group by ITEM_MODEL
) s 
on s.item_model = t.item_model
where ITEM_MODEL='keyboard' 

我只是把你的两个查询都编译成一个。这只是其中一种方法

select 
   m.ITEM_MODEL,
   m.QUANTITY,
   d.Avg_Rate,
   d.TOTAL_AMOUNT 
from 
   (Select ITEM_MODEL, AVG(RATE) as Avg_Rate,SUM(AMOUNT) as TOTAL_AMOUNT 
    from ITEM_DETAILS 
    where ITEM_MODEL= 'keyboard' Group by ITEM_MODEL) D 
    inner join 
    ITEMS_MASTER m on m.ITEM_MODEL = d.ITEM_MODEL
它将只显示“键盘”,因为聚合内联查询已经排除了所有其他查询。我还将
Item\u master
移到了第二个位置,以获得更好的性能

您需要了解的信息。