• ベストアンサー

SELECT文で時間軸を行で取得する

いつもお世話になっております。 掲題の件で質問なのですが、ループを使わず SELECT文ひとつで(Loopや一時テーブルなしで)時間を取得する関数を使用し00~24という値を一行ずつ取得したいのですがどうしてもわかりませんでした。 お知恵を拝借したく思います。 もしこれが可能であれば、年や週もレコードでずらっと 表示できるかと思いますのでとても気になっているのです。 環境はSQLServer2000です。 文章力がなく説明不足で申し訳ありませんが ご存知の方がいらっしゃいましたら、 どうぞご教授よろしくお願いいたします。 失礼いたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

おそらく、カレンダテーブルを用意する方が手っ取り早く効率的なので、そういう機能は存在しないのではないかと。

Ha88888
質問者

お礼

回答いただきましてありがとうございました。 やはりそうですか。。。 どうもありがとうございました。

関連するQ&A

  • 複数レコードをUPDATE文一文で処理する方法

    お世話になります。 掲題の件でご質問させていただきます。 レコードセットに格納した複数レコードデータをテキストボックスに格納し、 そのテキストボックスを変更した部分だけを一度に UPDATE文で変更する方法は存在するのでしょうか。 Loopさせて一行ずつ処理することはもちろんできるのですが どうしても一文で処理したいのです。 ASP+SQLServer2000の組み合わせで、SQL処理はすべて ストアド内でやっています。 説明がへたでわかりずらいとは思いますが、 どうぞよろしくお願い申し上げます。 それでは、失礼いたします。

  • SQLServer2000のselect文で

    SQLServer2000のselect文で select count(*) from Table を実行するのに30秒以上かかってしまいます。 データ数は100万件もありません。 全件数を取得するのになぜこんなにかかってしまうのでしょうか? 主キーはVarcharの50バイトです。 こんな単純な文でこれだけかかってしまうのは、 DBの設定が悪いのでしょうか? それともPCの性能が悪いのでしょうか?

  • SELECTの結果で同一行を複数回出力する

    レコードが1行しか存在しないテーブルがあります。 このテーブルのレコードをSELECTして、同一行を複数行取得したいと思っています。 1回のリクエストで、このような結果を取得する方法はあるでしょうか? DBはORACLE10gです。 よろしくお願いします。

  • 一つのSQL文で取得したい

    こんにちは。 テーブルAに以下のようなデータがあるとします。 ID |名称 |項目 -------------- 01 |ああ | 02 |いい | 03 |うう |01,02 04 |ええ |01 SELECT文で取得したいのは、フィールド「項目」の値を、他のレコードの名称で置き換えた列です。 つまり、 ID |名称 |項目 |項目名称 ------------------ 01 |ああ | | 02 |いい | | 03 |うう |01,02 |ああ,いい 03 |ええ |01 |ああ という結果が欲しいということです。 「項目」の値はカンマで区切られています。 これを一つのSQLで取得したいと思っています(テーブルの結合、サブクエリーはOK)が、方法がわかりません。 どなたかどうぞご教授ください。 よろしくお願い致します。

  • ストアドのselect文で別テーブルのカウントを取得するには

    こんばんは。 以下のようなことをするのにどう記述していいのか わかりません。 入力パラメータ test1,test2に一致するテーブル1のレコードの 項目1と項目2の値と test1,test2に一致するテーブル2のレコードの カウントを 返したいと考えていますがどう記述したら テーブル2のカウントを返せるのかわかりません。 以下、考え中の内容を記述したものです。 テーブルTBL_AとテーブルTBL_Bがある。 TBL_Aの項目はFLD_1,FLD_2,FLD_3 TBL_Bの項目はFLD_1,FLD_2,FLD_3,FLD_4 TBL_AとTBL_Bには同一のフィールドFLD_1,FLD_2があり、 select FLD_1,FLD_2,FLD_3 FROM TBL_A WHERE FLD_1 = test1 AND FLD_2 = test2(select文1) 上記のSQLでTBL_AのFLD_1,FLD_2を取得する ここに、 select count(*) FROM TBL_B WHERE FLD_1 = test1 AND FLD_2 = test2(select文2) このselect文2で取得した値を select文1に接続して値を戻したいのですが やり方がわかりません。 戻したい値はTBL_AのFLD_1,FLD_2,FLD_3とTBL_Bのカウントです。 お分かりになる方教えてください。よろしくお願いします。 なおoracleは9iを使っています。

  • Select文で2つのフィールドを加算した結果を取得したい

    Select文で2つのフィールドを加算した結果を取得したいと思います。しかし2つのフィールドのうち1つがNullの値だと残りのフィールドに値が入っていても空白(NULL?)で返ります。 [例]********************************************** フィールドA:Null フィールドB:300 SELECT フィールドA+フィールドB FROM テーブルA <Selectされた結果> 空白(何も表示されない。Null?) [例]********************************************** どのようにすれば、Nullでない値だけ取得できるでしょうか。

  • select文

    select文の質問なんですが、広告のデータでクリック数と売り上げを毎日取っていたとして、広告毎に累計のデータを見るときは、 select 広告名, sum(クリック数), sum(売り上げ) from 売り上げテーブル group by 広告ID 上記のsql文で取得できるかと思うのですが、取得する際にクリック数の合計でソートをかけたい場合には、どのようにすればよろしいのでしょうか? 上記の文にただ、order by クリック数を記述しても、1レコード単位でソートしてしまうため困っております。

    • ベストアンサー
    • MySQL
  • selectの内容によって、登録するカラムを変えたい

    selectの内容によって、登録するカラムを変えたい selectであるテーブルからある値Aをとってきます。 値Aが1の時は別テーブルの金額1に登録、2の時は金額2に登録、3の時は金額3に登録 という処理を行いたいです。 同一レコードに対して複数の金額がある事があります。 テーブル1(取得テーブル) ------------------ キー 値A 金額 1   1  500 1   3  300 2   3  200 ------------------ テーブル2(登録テーブル) ------------------ キー 金額1 金額2 金額3 1   500  0  300 2    0  0  200 ------------------ いま、 insert into テーブル2 SELECT 項目 from テーブル1 というように1つのSQLで、登録、削除をしようとしていますが 可能でしょうか?。方法がよく分かりません。

  • SQLServerでのSELECT文をORACLE9iで使用したいのですが・・・

    SQLServer2000で使用していたSELECT文をORACLE仕様にする場合どのように修正すればよいですか? 試行錯誤やっているのですが、思うようにできません。 関数a(関数b())といった作法は無理なのでしょうか? ※関数a(関数b())のような構成だと [ORA-00938: 関数の引数が不足しています] 等が発生する (SQLServerでのSELECT文) SELECT F列A + SPACE(11-LEN(F列A)) + ISNULL(F列B,SPACE(0)) AS F列C, F列A ,F列B FROM T表 どなたかご教授おねがいします

  • テーブルで一番古いレコードだけをSELECTしたい

    テーブルで一番古いレコードだけをSELECTしたいのですが、どうすれば良いでしょうか? ■背景 ・テーブルからデータを取得しようと思ったら、「id」及び「autoincrement」に該当するカラムがありませんでした ・日付に該当するカラムもありません ・「phpMyAdmin」で確認すると、いつも同じ並び順で表示されるので、格納したレコード順で表示されているのではないかと思いました ■質問 ・この時、そのテーブルで一番古いレコードだけをSELECTしたいのですが、どうすれば良いでしょうか? ・where?

    • ベストアンサー
    • MySQL