自從一段時間以來,我一直停留在此查詢上,不知道如何前進。問題在於連接多個表時:我注意到數字數據與我期望的數字數據不匹配。這是因爲對於包含較少記錄的表中的每條記錄,聯接將從較大的表中獲取所有相應的記錄。加入表格後刪除重複數據
例如,假設您有以下表格。具有較少記錄的表(可用水果)對於每個A,B,C,D和E具有一條記錄。具有更多記錄(即今日銷售量)的表具有A,B,C,D和E各自的多條記錄。
然後假設你使用JOIN兩個表結合以上。
SELECT A.*, B.*
FROM [Available Fruits] A
JOIN [Sales Today] B
ON A.[Fruit ID]=B.[Fruit ID]
結果如下表所示。請注意,對於每個實例,可用水果表中的行都會被複制,相應的ID將顯示在「今日銷售額」表中。即如果將「庫存」和「水果」字段放入新表中,則此連接表會使蘋果的庫存顯示爲375,而不是預期的75,如下圖所示。
不幸的是我還沒有足夠的積分後的圖像。
編輯:所以我想在SQL中做什麼是以某種方式能夠將「今日銷售」表彙總到「可用的水果」粒度級別,因此它不會得到重複或以某種方式計算分佈按A,B,C,D,E出售庫存,所以我可以加入這兩個表格,而不用重複我在「庫存」字段中解釋的內容。
我真的很感謝你們的幫助。
你試過SELECT DISTINCT? –
聯合應該如何工作......你忘了問你的問題。 「我注意到數字數據與我期望的數字數據不匹配,你認爲我們可以讀懂你的想法以找出你期望的內容嗎? –