2011-03-01 50 views
0

我有兩個電子表格中的數據,我需要比較已安裝和購買的軟件數量。通用字段是兩個電子表格中的前綴和客戶端,但沒有唯一標識符。是否可以將其他列添加到計數查詢

我創建了3個表格。客戶端的主鍵(Client_ID)和已安裝和購買的外鍵。 #小學*外國

表: -

Client - Client.Client_ID#, Client.Client 

Installed - Installed.Client_ID*, Installed.Prefix, Installed.Publisher, Installed.Version,Installed.Amount 

Purchased -Purchase.Client_ID*, Purchase.Prefix, Purchase.Status, Purchase.Qty 

,我有問題的部分原因是大多數的記錄/行是列表中多次。 E.g產品Y被記錄爲20行項目/行,而在於Y數量20

我想計算基於前綴和的client_ID計數(Installed.Amount)。

到目前爲止,我只能計算前綴計數而不計算client_ID。是否可以合併列,以便查詢將導致前綴和其他列的數量。

查詢: -

SELECT Installed.Prefix, Count(Installed.Amount) AS PrefixQuantity 
FROM Installed 
GROUP BY Installed.Prefix; 

回答

0
SELECT Installed.Client_ID, Installed.Prefix, COUNT(Installed.Amount) 
AS PrefixQuantity FROM Installed GROUP BY Installed.Client_ID, Installed.Prefix 

順便說一句,我認爲你應該使用:

SELECT Installed.Client_ID, Installed.Prefix, SUM(Installed.Amount) 
AS PrefixQuantity FROM Installed GROUP BY Installed.Client_ID, Installed.Prefix 

這會給出正確的結果,即使金額列有值大於1.

+0

非常感謝,非常感謝。現在成功添加了額外的列來計算/總計查詢。 – 2011-03-04 09:36:25

0
SELECT * 
FROM 
     client c 
     INNER JOIN purchase p 
     ON c.client_id = p.client_id 
     INNER JOIN (SELECT installed.prefix, 
          installed.client_id, 
          COUNT(installed.amount) prefixquantity 
        FROM installed 
        GROUP BY installed.prefix, 
          installed.client_id) counts 
     ON c.client_id = counts.client_id 
相關問題