- ベストアンサー
Oracle SQL 緊急です
色々試行錯誤していますが、求めた結果になりません。 下記URLに詳細を明記した画像を載せましたので、ご覧ください。 宜しくお願い致します。 http://www2.ocn.ne.jp/~aiken/okwave-index.html
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
下記でどうでしょう ただ、T_REQUESTの100S0003は削除対象ではないですか? ---- SELECT * FROM dbo.T_REQUEST a WHERE (NOT EXISTS (SELECT 'X' FROM T_ORDER b WHERE a.商品番号 = b.商品番号)) AND (NOT EXISTS (SELECT 'X' FROM T_REQUEST c GROUP BY c.商品番号 HAVING MAX(c.更新年月日) > '20111031' AND MAX(c.依頼) = '1' AND a.商品番号 = c.商品番号)) それとも (SELECT 'X' FROM T_REQUEST c WHERE c.依頼 = '1' GROUP BY c.商品番号 HAVING MAX(c.更新年月日) > '20111031' AND a.商品番号 = c.商品番号) SELECT * FROM dbo.T_REPLY a WHERE (NOT EXISTS (SELECT 'X' FROM T_REPLY b GROUP BY b.商品番号 HAVING MAX(b.回答年月日) > '20111031' AND b.商品番号 = a.商品番号))
その他の回答 (1)
- Knosuke
- ベストアンサー率0% (0/2)
SQL得意というわけではないですが、、 こんな感じでもいけるのではないかとー SELECT * FROM T_REQUEST T1 , (SELECT 商品番号, MAX(更新年月日) 更新年月日 FROM T_REQUEST GROUP BY 商品番号) T2 WHERE T1.商品番号 = T2.商品番号 AND T1.更新年月日 = T2.更新年月日 AND T1.依頼ステータス = '1' AND T1.更新年月日 <= '20111031' AND NOT EXISTS(SELECT 1 FROM T_ORDER T3 WHERE T3.商品番号 = T1.商品番号) SELECT * FROM T_REPLY T1 , (SELECT 商品番号, MAX(回答年月日) 回答年月日 FROM T_REQUEST GROUP BY 商品番号) T2 WHERE T1.商品番号 = T2.商品番号 AND T1.回答年月日 = T2.回答年月日 AND T1.回答年月日 <= '20111031' AND NOT EXISTS(SELECT 1 FROM T_ORDER T2 WHERE T2.商品番号 = T1.商品番号)
お礼
ご回答いただきましてありがとうございます。 コメントが遅くなりまして申し訳ありません。 なんだかんだで仕様が変わりそうなので、 一旦、アドバイスいただいものも参考に 再考しようとおもいます。 お忙しいところ本当にありがとうございました!
お礼
ご回答いただきましてありがとうございます。 コメントが遅くなりまして申し訳ありません。 なんだかんだで仕様が変わりそうなので、 一旦、アドバイスいただいものも参考に 再考しようとおもいます。 お忙しいところ本当にありがとうございました!