2014-11-06 44 views
0

我掙扎理解爲什麼這兩個說法都給予同樣的輸出的輸出:無法理解涉及鮮明

案例1:

SELECT sum(DISTINCT prod_price) 
FROM PRODUCTS 

案例2:

SELECT SUM(SQ.COST) 
FROM (SELECT DISTINCT [VEND_ID] as PROD,[PROD_PRICE] as COST FROM PRODUCTS) SQ 

哪裏我的輸出爲SELECT * FROM Products看起來像: enter image description here

回答

2

想想這個查詢

SELECT SUM(SQ.COST) 
FROM (SELECT DISTINCT [VEND_ID] as PROD,[PROD_PRICE] as COST 
     FROM PRODUCTS) SQ 

AS

SELECT DISTINCT [VEND_ID] as PROD,[PROD_PRICE] as COST FROM PRODUCTS 

進入臨時表說名爲SQ有兩列:

  • VEND_ID
  • PROD_PRICE

這查詢我今後會有先評估,然後查詢的下一個部分,如:

SELECT SUM(SQ.COST) 
FROM SQ 

這不過是與您的原始查詢,因此相同的答案。

+0

+1,很好的解釋。 – radar 2014-11-06 18:11:44

+0

@RADAR謝謝:)很高興能幫助別人理解。 – SMA 2014-11-07 11:38:45

0

產品表中有6個不同的product_pricevend_id組合。

巧合的是,如果我只取product_price,然後也有6次不同的記錄:

3.49 
5.99 
8.99 
11.99 
4.99 
9.49. 

因此總和相同