- ベストアンサー
VB6でのSQLでの抽出をお願いします
DAY_____________TIME________ANS1_____ANS2_____ANS3_____ANS4 2009/01/16____20:27:00____90.58____90.59____90.58____90.59 2009/01/16____20:28:00____90.59____90.64____90.59____90.63 2009/01/16____20:29:00____90.63____90.64____90.62____90.62 2009/01/16____20:30:00____90.62____90.67____90.61____90.65 2009/01/16____20:31:00____90.65____90.68____90.64____90.67 2009/01/16____20:32:00____90.67____90.69____90.66____90.67 2009/01/16____20:33:00____90.67____90.68____90.65____90.67 2009/01/16____20:34:00____90.67____90.69____90.66____90.68 上記データは ドル円の価格 の 2007/01/01 から 2009/01/20 迄の一部抜粋 項目は DAY , TIME , ANS1-4 アクセス97を使用でインデックスなし このデータを [ 2008/09/01 06:00:00 ] から [ 2008/09/03 07:00:00 ] 迄を下記 A,B,C の順のように、 [ DAY TIME ] 共に 昇順 になるように、全項目を抽出したいです。 この場合の VB6 でのSQL文を御教授願います。 A [ 2008/09/01____06:00:00 ] から [ 2008/09/01____23:59:00 ] B [ 2008/09/02____00:00:00 ] から [ 2008/09/02____23:59:00 ] C [ 2008/09/03____00:00:00 ] から [ 2008/09/03____07:00:00 ]
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
DAYおよびTIMEが文字列方の場合 SELECT * FROM テーブル1 WHERE (((テーブル1.DAY) Between '2008/09/01' And '2008/09/03') AND ((テーブル1.TIME) Between '06:00:00' And '23:59:00')) ORDER BY テーブル1.DAY, テーブル1.TIME; DAyおよびTIMEが日付/時刻型の場合 SELECT テーブル2.* FROM テーブル2 WHERE (((テーブル2.DAY) Between #9/1/2008# And #9/3/2008#) AND ((テーブル2.TIME) Between #12/30/1899 6:0:0# And #12/30/1899 23:59:0#)) ORDER BY テーブル2.DAY, テーブル2.TIME;
その他の回答 (1)
- o_chi_chi
- ベストアンサー率45% (131/287)
下記でどうでしょう。 (1)まずDAY,TIME,ANSの値(1~4を分ける)をもつクエリを作ります。 (2)その4つのクエリでユニオンクエリを作ります。 (3)そのユニオンクエリでクロス集計クエリを作ります。 -- SELECT T.DAY, T.TIME & "-1" AS T, T.ANS1 AS A FROM T_MAST T SELECT T.DAY, T.TIME & "-2" AS T, T.ANS2 AS A FROM T_MAST T SELECT T.DAY, T.TIME & "-3" AS T, T.ANS3 AS A FROM T_MAST T SELECT T.DAY, T.TIME & "-4" AS T, T.ANS4 AS A FROM T_MAST T これをQ_1~Q_4とする SELECT DAY,T,A FROM Q_1 UNION SELECT DAY,T,A FROM Q_2 UNION ELECT DAY,T,A FROM Q_3 UNION SELECT DAY,T,A FROM Q_4 これをQ_ALLとする。 TRANSFORM First(Q_ALL.A) AS ANS SELECT Q_ALL.DAY FROM Q_ALL GROUP BY Q_ALL.DAY PIVOT Q_ALL.T
お礼
お早い御回答有難うございます。 こんなやり方もあったんですね。 早速試してみます。
お礼
お早い御回答有難うございます。 早速試してみます。