ここに私のテーブルがあります:
お客様
Cust_ID (PK)
Name
注文
Order_ID (PK)
Cust_ID (FK)
ORDER_LINE
Order_ID (pk)
Part_ID (FK)
部
Part_ID (PK)
Part_Description
ここで、顧客の詳細、部品番号、および各顧客が注文した部品の説明をリストしたいと思います。
どうすればいいですか?
ありがとう。
ここに私のテーブルがあります:
お客様
Cust_ID (PK)
Name
注文
Order_ID (PK)
Cust_ID (FK)
ORDER_LINE
Order_ID (pk)
Part_ID (FK)
部
Part_ID (PK)
Part_Description
ここで、顧客の詳細、部品番号、および各顧客が注文した部品の説明をリストしたいと思います。
どうすればいいですか?
ありがとう。
FKを使用して「JOIN」を使用する必要がありますが、「ORDERS」と「ORDER_LINE」の間に外部キーがないことがわかります。テーブル定義から何かが欠落していないことを確認します。つまり、ORDER_LINEはFKとしてORDER_IDを持っている必要がありますか?お役に立てれば
あなたは次のようなことを試すことができます
SELECT c.*,
p.*
FROM CUSTOMER c INNER JOIN
ORDERS o ON c.Cust_ID = o.Cust_ID INNER JOIN
ORDER_LINE ol ON o.Order_ID = ol.Order_Number INNER JOIN
PART p ON ol.Part_Number = p.Part_Number
見て
SQL結合句は、データベース内の2つ以上のテーブルのレコードを結合します。
JOINキーワードは、SQLステートメントで使用され、これらのテーブルの特定の列間の関係に基づいて、2つ以上のテーブルからデータをクエリします。
そして、いくつかのグラフィックの例については
必要なのは、次のような単純な単純なものですJOIN
。
SELECT
c.Cust_ID,
c.Name,
l.Part_Number,
l.Part_Description
FROM CUSTOMER c
INNER JOIN ORDERS o ON c.Cust_ID = o.Cust_ID
INNER JOIN ORDER_LINE ol ON o.OrdeR_ID = ol.Order_Number
INNER JOIN PART l ON ol.Part_Number = l.Part_Number
次のようなSQL「結合」が必要です。
SELECT c.Name, ol.Part_Number, p.Part_Description
FROM Customer AS c
JOIN Orders AS o ON c.Cust_ID = o.Cust_ID
JOIN Order_Line AS ol ON o.Order_ID = ol.Order_Number
JOIN Part AS p ON ol.Part_Number = p.Part_Number
WHERE句がないと、このクエリはすべての顧客のすべての注文のすべてのパーツを返すことに注意してください。これにより、ネットワークが実際に破壊され、小さなデータベース以外ではパフォーマンスが低下します。
WHERE(c.Cust_ID = MyCustomerID)