私はこれを理解できると思っていましたが、多くの問題を抱えています.3つのテーブル、、、がTable1
ありTable2
ますTable3
。これらのテーブルは他の誰かによって設計されたもので、私はそれらを使用する必要があります。それらは、今日使用されている方法で使用されるようには設計されていません。
肝心なのは、 を入力できるようにする必要があるということです。Item_No
これは常に に存在しTable2
ます。また、 にも が見つかる場合、複数回またはまったく見つからない可能性があり、 では 5 回、 では3 回しか見つからない場合があります。にある場合は、にも含まれます。Item_No
Table 3
Table2
Table3
Table3
Table1
したがって、Table2 で見つけることができる Item_No を使用して、それらの行に関連付けられている Order_qty を返します。次に、存在する場合を使用して、 Table1.ID
どこにTable1.ID = Table3.ID
WHEREを取得しますTable3.Item_No = Table2.Item_No
私は次のことを思いつきました。エラーは発生しませんが、C#の塗りつぶし中にコードの実行を停止するだけです。私はそれを見つけて見つけたものItem_No
をTable3
返すためにそれを機能させました。それ以来、このコード行のみを変更したので、これが問題であることを知っています。
これが私が思いついたもので、機能していません:
SELECT Table1.ID,
Table2.Order_Qty As [Qty of Full Order], Table2.Item_No As [Set No]
FROM Table2
LEFT JOIN Table3
ON Table2.Item_No = Table3.Item_No
AND Table2.Order_No = Table3.Order_No
LEFT JOIN Table1
ON Table1.Order_No = Table2.Order_No
AND Table1.ID = Table3.ID
WHERE Table2.Item_No = @m_strUserEnteredSeachValue
ORDER BY Table2.Order_No DESC
*データ例: *
表1
+----------+--------------+-------------------+
| Order_No | Sub_Order_No | Sub_Order_Contact |
+==========+==============+===================+
| 1 | 1 | John Doe |
+----------+--------------+-------------------+
| 1 | 2 | Jane Doe |
+----------+--------------+-------------------+
| 1 | 3 | Foo |
+----------+--------------+-------------------+
| 1 | 4 | Bar |
+----------+--------------+-------------------+
| 1 | 5 | Foo2 |
+----------+--------------+-------------------+
表 2
+----------+--------------+-------------------+
| Order_No | Item_No | Customer_Item_Name|
+==========+==============+===================+
| 1 | 1 | 1234567890 |
+----------+--------------+-------------------+
| 1 | 2 | 1234567891 |
+----------+--------------+-------------------+
| 1 | 3 | 1234567892 |
+----------+--------------+-------------------+
| 1 | 4 | 1234567893 |
+----------+--------------+-------------------+
| 1 | 5 | 1234567894 |
+----------+--------------+-------------------+
| 1 | 6 | 1234567895 |
+----------+--------------+-------------------+
| 2 | 1 | 0987654321 |
+----------+--------------+-------------------+
| 2 | 2 | 0987654322 |
+----------+--------------+-------------------+
| 2 | 3 | 0987654323 |
+----------+--------------+-------------------+
| 3 | 1 | 1234567893 |
+----------+--------------+-------------------+
そして表3
+----------+--------------+-------------------+--------------+
| Order_No | Item_No | Customer_Item_Name| Sub_Order_No |
+==========+==============+===================+==============+
| 1 | 1 | 1234567890 | 1 |
+----------+--------------+-------------------+--------------+
| 1 | 2 | 1234567891 | 2 |
+----------+--------------+-------------------+--------------+
| 1 | 3 | 1234567892 | 2 |
+----------+--------------+-------------------+--------------+
| 1 | 4 | 1234567893 | 3 |
+----------+--------------+-------------------+--------------+
| 1 | 5 | 1234567894 | 4 |
+----------+--------------+-------------------+--------------+
| 1 | 6 | 1234567895 | 4 |
+----------+--------------+-------------------+--------------+
| 1 | 4 | 1234567893 | 4 |
+----------+--------------+-------------------+--------------+
探している結果: アイテム 1234567893 を検索した場合
+----------+--------------+-------------------+--------------+-------------------+
| Order_No | Item_No | Customer_Item_Name| Sub_Order_No | Sub_Order_Contact |
+==========+==============+===================+==============+===================+
| 3 | 1 | 1234567893 | | |
+----------+--------------+-------------------+--------------+-------------------+
| 1 | 4 | 1234567893 | 3 | Foo |
+----------+--------------+-------------------+--------------+-------------------+
| 1 | 4 | 1234567893 | 4 | Bar |
+----------+--------------+-------------------+--------------+-------------------+