- PR -

SQLで取得できますか?

投稿者投稿内容
FX
常連さん
会議室デビュー日: 2004/12/06
投稿数: 49
投稿日時: 2005-04-19 13:59
相関サブクエリーで解決できるようなのですね。もう一度見直してみます。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-04-19 17:00
FXさん、こんばんは。

引用:

相関サブクエリーで解決できるようなのですね。もう一度見直してみます。


取り敢えず、本屋へ行って『SQL入門』みたいな本を買いましょう。
そして使用するDBのマニュアルを見ましょう。
FX
常連さん
会議室デビュー日: 2004/12/06
投稿数: 49
投稿日時: 2005-04-19 17:24
みなさんの暖かいアドバイス(^_^.)を頂きまして、どうにかもう一度資料など
を見直して作成してみました。
相関関数の説明を読むだけではどうにか納得していると思っていたのですが、
少し応用?になってしまう(今回の場合、時刻→始値などの多重入れ子)よう
な場合に中々思いつきませんでした。
また、環境を書き忘れてしまいましたがMS ACCESS2003でした。

ありがとうございました。

SELECT
MAST.日付,
HAJIME.始値,
MAX(MAST.高値) AS 最高値,
MIN(MAST.安値) AS 最安値,
OWARINE.終値,
SUM(MAST.出来高) AS 総出来高
FROM
(
株価TBL AS MAST
LEFT JOIN (SELECT B.日付,B.始値 FROM
(SELECT 日付,MIN(時刻) AS 開始時刻 FROM 株価TBL A GROUP BY 日付) AS A,
株価TBL B
WHERE B.日付 = A.日付 AND A.開始時刻 = B.時刻) AS HAJIME
ON MAST.日付 = HAJIME.日付)

LEFT JOIN (SELECT B.日付,B.終値
FROM
(SELECT 日付,MAX(時刻) AS 終了時刻 FROM 株価TBL A GROUP BY 日付) AS A,
株価TBL B
WHERE B.日付 = A.日付 AND A.終了時刻 = B.時刻) AS OWARINE
ON MAST.日付 = OWARINE.日付

GROUP BY MAST.日付, HAJIME.始値, OWARINE.終値

スキルアップ/キャリアアップ(JOB@IT)