2017-05-23 10 views
0

私の構造には何か問題があると思います。私はデータベースに3つのテーブルを持っています。私はすべての供給を特定部門に示したいと思います。私はいくつかの試行錯誤を繰り返しましたが、別の電源を同じ計画IDに挿入することはできません。私は、特定の部門/特定の計画idのうちの1つに複数の供給品を追加したいと考えました。ここでは、供給品を選択するための質問があります。3つのテーブル間でデータを選択/挿入する

SELECT 
division.acronym, 
supply.`name`, 
supply.unit, 
supply.supply_id, 
supply.price, 
supply.estimated_budget, 
supply.quantity 
FROM 
division 
INNER JOIN plan ON plan.plan_id = division.division_id 
INNER JOIN supply ON supply.supply_id = plan.plan_id 

この表はマニュアルでのみ入手できます。したがって、ERD図をイメージとして挿入します。

ERD edited

+1

あなたのテーブルからのデータ、または_insert_新しいデータを_retrieve_しようとしていますか? –

+0

あなたのクエリは大丈夫ですが、私は 'insert'を見ません。主キー違反のために挿入が失敗する可能性がありますか? –

+0

@TimBiegeleisen、Both。私はデータを取得した後に挿入しようとしています。私はまだSQLを学んでいます。私はこの問題に遭遇した。 – Larigyn

答えて

0

私はあなたがすべての3つのテーブルを結合するFOREIGN KEYSとしてテーブルを計画するdivision_idsupply_idを置くべきだと思います。

次に、あなたのクエリは次のようになります。

division 
INNER JOIN plan ON plan.division_id=division.division_id 
INNER JOIN supply ON supply.supply_id=plan.supply_id 
+0

まだサプライテーブルに手動でデータを挿入することはできません。 – Larigyn

+0

あなたのインサートコードを教えてください。 – Naung9

関連する問題