|
分類:[データベース全般]
まず Aテーブル、Bテーブル、Cテーブルが DB上にあります
↓の構文はビューとして保存されています SELECT 納品先コード,住所,電話番号,受注番号,納期 FROM A LEFT OUTER JOIN A ON A.得意先コード = B.得意先コード WHERE 納期 = '2018-03-01'
(最終的にプログラム側から日付を指定するようにするつもりです)
以下のようなテーブルが作成されます
│得意先コード│納品先コード│住所│電話番号│受注番号 │納期│ ───────────────────────────────────
でこの受注番号を元に
SELECT top 1 作成日 ,数 FROM C WHERE 受注番号 = ORDER BY 作成日 DESCで 先のテーブルに
│得意先コード│納品先コード│住所│電話番号│受注番号 │納期│作成日│数│ ─────────────────────────────────────────
という様にしたいと考えています
要は受注番号を元にCテーブルの作成日と数を取得してそれをテーブルに追加したいと考えています
私の読解力不足でいまいちサブクエリの使い方がわからず、又これをサブクエリで解決できるのかも変わらないので、どなたかご指導お願いします。
一応プログラム側でDataRowとArrayListを使い、最終的に表示したい形には出来てはいるのですが、レスポンスが悪すぎるので 可能ならばビューの方に、作成日と数を取得する工程も任せたいと考えています。
補足 作成日と数は複数該当する場合もありますしNULLの可能性があります (そのためにTOP 1 と ORDER BY 作成日で DESCで1件に絞っています)
|