2017-10-01 182 views
2

爲了獲得一些幫助,我在內部連接上進行了一些嘗試,該連接顯示產品表中的所有'產品'信息,任何產品銷售超過10個單位使用內部聯接。SQL Inner Join 2 Tables

PRODUCT TABLE (Columns) 
P_CODE, P_DESCRIPT, P_INDATE, P_QOH, P_MIN, P_PRICE, P_DISCOUNT, V_CODE 

LINE TABLE (Columns) this table shows the lines/information for each 
invoice 

INV_NUMBER, LINE NUMBER, P_CODE, LINE_UNITS, LINE_PRICE, LINE_TOTAL 

我明白,我必須使加入使用公共密鑰屬性(P_CODE),但我無法弄清楚如何內內加盟做的總和。

這是我最近一次嘗試:

SELECT * PRODUCT FROM PRODUCT 
INNER JOIN line 
ON product.p_code = line.p_code 
WHERE sum(line_units) >=10 
AND line.p_code = product.p_code; 

錯誤:附近的 「產品」;語法錯誤

任何幫助,將不勝感激, 謝謝。

+1

應改爲10>不是10> =,最有可能的「從產品」是多餘的 – LukeJ

回答

3

看起來您的表名PRODUCTSELECT部分。並且sum()需要在SELECT部分內發生,以及最後的額外HAVING子句。

SELECT *, sum(line_units) as line_units_sum FROM product 
INNER JOIN line ON product.p_code = line.p_code 
WHERE line.p_code = product.p_code 
HAVING line_units_sum >= 10 
+0

謝謝你,解決了最初的錯誤,但現在我接受了一個我和函數「錯誤:聚合函數的濫用sum()「 – LukeJ

+0

對不起 - 實際上是模擬了表並重新在本地運行查詢。我更新了查詢,以便它現在可以工作。 –

+0

能夠通過對您的查詢進行一些修改而獲得我想要的。在'group by product.p_code'中添加也從select中刪除*並手動輸入到我想要顯示的產品屬性中,或者顯示來自Product和Line的所有屬性,我假設這是因爲這兩個表現在都已連接在顯示產品和線條屬性的select語句的'*'中? - 感謝John的幫助。 – LukeJ