- 締切済み
最大日付の抽出と加算方法について
始めて投稿するので内容について良くわからないかも しれませんが、 自分ではどうしてもわからない為、 教えて下さい。 ソフトはMicrosoftSQLServerの6.0を使って作業して います。 私が四苦八苦している問題は、以下になります。 ”条件Aに当てはまる最大の変更月とその月数を加算 する” 条件A:Aテーブル住所=Bテーブルの住所、 Aテーブル証明番号=Bテーブルの証明番号 Aテーブル 証明番号|住所|変更月 |月数 --------------------------------- 6201 |東京|2005-10-24|10 --------------------------------- 9000 |東京|2007-12-15|2 --------------------------------- 8900 |千葉|2006-01-14|5 Bテーブル 証明番号|住所| ---------------- 5862 |埼玉| ---------------- 6201 |東京| ---------------- 9000 |東京| 結果は、2番目のデータを抽出及び計算をし、 ”2008-02-15”と出したいと思っています。 SELECT DATEADD (MONTH,A.月数,MAX(A.変更月)) FROMA,B WHERE A.住所 = B.住所 AND A.証明番号 = B.証明番号 上記のように記述したのですが、うまく起動してくれ ません。。。っと言うか、 最大の変更月を抽出して いないようです。 申し訳ありませんが、宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
「ORDER BYがどうの」ではどんな問題が発生しているのか分かりません。
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
使えます。SQL Server 6.5で動作を確認しています。 6.0では確認が取れていませんが、6.0でも使えるはずです。
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
SELECT DATEADD(MONTH, A.月数, A.変更月) FROM A,B WHERE A.住所 = B.住所 AND A.証明番号 = B.証明番号 AND A.変更月 = (SELECT MAX(変更月) FROM A) ではいかが。
補足
返信有難うございます。 WHERE句の中で演算句は使えないと思うのですが、 間違っていますか?
補足
何度もすいません。 教えていただいたコマンドを実行すると、ORDER BYが どうのって言われてしまい、エラーとなってしまいま す。 ORDER BYって「纏める」って言う意味でしたよね? 何を纏めるのでしょうか?