2017-10-01 36 views
2

これに助けを求めて、内部結合でいくつかの試みを行いました。内部結合では、製品テーブルのすべての 'Product'情報が表示されます。内部結合。SQL内部結合2テーブル

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

セクション内にテーブル名PRODUCTがあるようです。 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関数」エラーのために1を受け付けておりますこと、ありがとうsum() " – LukeJ

+0

そのことについては残念です - 実際にテーブルを嘲笑し、クエリをローカルで再実行しました。今すぐ動作するようにクエリを更新しました。 –

+0

あなたの質問に対するいくつかの修正を加えて、私が望むものを正確に得ることができました。 'group by product.p_code'にも追加され、selectから手動で入力した商品属性に手動で入力するか、Product&Lineの両方の属性を表示しました。これは、テーブルが両方とも結合されているためです製品とラインの両方の属性を示すselect文の '*'に?ヘルプジョンを感謝します。 – LukeJ

関連する問題