2014-06-27 50 views
0

下面的查詢是從兩個表中顯示的數據,它工作正常,但我想合併在單個表結果和顯示輸出:合併兩個SELECT查詢並在一個表中顯示數據?

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的

+1

您需要了解[SQL Server中的聯接](http://www.mssqltips.com/sqlservertip/1667/sql-server-join-example/)。 – user2989408

回答

0

您查詢的我只是把兩者並編譯成一個。這只是其中一種方法

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_master轉移到第二位以獲得更好的性能

0

試試這個

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'