T-SQL: 複数行のコードを if ステートメントと組み合わせるにはどうすればよいですか

ドラゴス会

これで壁に頭をぶつけてた。正直言ってこれは私にとって新しいものです。私はこれに苦労しています。明らかにデータをプルしてジャンクを取得しようとしました。挿入されたデータのジャンクを解析できないように見えるため、連結はがらくたを引っ張るだけです。DB を解析せずにデータからジャンクを取り出さなければならないという問題が実際に発生したことはありません。

テーブル定義

create table [dbo].[sample_table](

    [id] [int] identity(1,1) not null,
    [date] [varchar](255) null,
    [hour1] [varchar](255) null,
    [hour2] [varchar](255) null,
    [hour3] [varchar](255) null,
    [hour4] [varchar](255) null,
    [hour5] [varchar](255) null,
    [hour6] [varchar](255) null,
    [hour7] [varchar](255) null,
    [hour8] [varchar](255) null,
    [hour9] [varchar](255) null,
    [hour10] [varchar](255) null,
    [hour11] [varchar](255) null,
    [hour12] [varchar](255) null,
    [hour13] [varchar](255) null,
    [hour14] [varchar](255) null,
    [hour15] [varchar](255) null,
    [hour16] [varchar](255) null,
    [hour17] [varchar](255) null,
    [hour18] [varchar](255) null,
    [hour19] [varchar](255) null,
    [hour20] [varchar](255) null,
    [hour21] [varchar](255) null,
    [hour22] [varchar](255) null,
    [hour23] [varchar](255) null,
    [hour24] [varchar](255) null)

挿入されたデータ

insert into [dbo].[sample_table] ([date], [hour1], [hour2], [hour3], [hour4], [hour5], [hour6], [hour7], [hour8], [hour9], [hour10], [hour11], [hour12], [hour13], [hour14], [hour15], [hour16], [hour17], [hour18], [hour19], [hour20], [hour21], [hour22], [hour23], [hour24])
values 
('2015-05-25', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '-11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', null, '24'),
('2015-07-12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10.5', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24'),
('2016-11-01', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', 'test', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24'),
('2014-05-25', '1', '2', '3', '4', '5', '6', '7', '8.954', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24')

id、datetime [新しいフィールド]、値 [新しいフィールド] の行のデータを返すスクリプトを作成します。

id full_date 値

1 2015-05-25 13:00:00 13
1 2015-05-25 14:00:00 14
2 2015-07-12 08:00:00 8
4 2014-05-25 08:00:04

SqlZim

なぜifステートメントでこれを実行しようとするのかわかりません

代わりに、私たちが使ってみましょうcross apply(values )unpivotあなたのデータ:

select 
    st.id
  , u.full_date
  , u.value
from sample_table st
  cross apply (values 
     (dateadd(hour,1,[date]),hour1)
    ,(dateadd(hour,2,[date]),hour2)
    ,(dateadd(hour,3,[date]),hour3)
    ,(dateadd(hour,4,[date]),hour4)
    ,(dateadd(hour,5,[date]),hour5)
    ,(dateadd(hour,6,[date]),hour6)
    ,(dateadd(hour,7,[date]),hour7)
    ,(dateadd(hour,8,[date]),hour8)
    ,(dateadd(hour,9,[date]),hour9)
    ,(dateadd(hour,10,[date]),hour10)
    ,(dateadd(hour,11,[date]),hour11)
    ,(dateadd(hour,12,[date]),hour12)
    ,(dateadd(hour,13,[date]),hour13)
    ,(dateadd(hour,14,[date]),hour14)
    ,(dateadd(hour,15,[date]),hour15)
    ,(dateadd(hour,16,[date]),hour16)
    ,(dateadd(hour,17,[date]),hour17)
    ,(dateadd(hour,18,[date]),hour18)
    ,(dateadd(hour,19,[date]),hour19)
    ,(dateadd(hour,20,[date]),hour20)
    ,(dateadd(hour,21,[date]),hour21)
    ,(dateadd(hour,22,[date]),hour22)
    ,(dateadd(hour,23,[date]),hour23)
    ,(dateadd(hour,24,[date]),hour24)
    ) u (full_date, value)

rextester デモ: http://rextester.com/UPQH6293

戻り値:

+----+---------------------+-------+
| id |      full_date      | value |
+----+---------------------+-------+
|  1 | 2015-05-25 01:00:00 | 1     |
|  1 | 2015-05-25 02:00:00 | 2     |
|  1 | 2015-05-25 03:00:00 | 3     |
|  1 | 2015-05-25 04:00:00 | 4     |
|  1 | 2015-05-25 05:00:00 | 5     |
|  1 | 2015-05-25 06:00:00 | 6     |
|  1 | 2015-05-25 07:00:00 | 7     |
|  1 | 2015-05-25 08:00:00 | 8     |
|  1 | 2015-05-25 09:00:00 | 9     |
|  1 | 2015-05-25 10:00:00 | 10    |
|  1 | 2015-05-25 11:00:00 | -11   |
|  1 | 2015-05-25 12:00:00 | 12    |
|  1 | 2015-05-25 13:00:00 | 13    |
|  1 | 2015-05-25 14:00:00 | 14    |
|  1 | 2015-05-25 15:00:00 | 15    |
|  1 | 2015-05-25 16:00:00 | 16    |
|  1 | 2015-05-25 17:00:00 | 17    |
|  1 | 2015-05-25 18:00:00 | 18    |
|  1 | 2015-05-25 19:00:00 | 19    |
|  1 | 2015-05-25 20:00:00 | 20    |
|  1 | 2015-05-25 21:00:00 | 21    |
|  1 | 2015-05-25 22:00:00 | 22    |
|  1 | 2015-05-25 23:00:00 | NULL  |
|  1 | 2015-05-26 00:00:00 | 24    |
|  2 | 2015-07-12 01:00:00 | 1     |
|  2 | 2015-07-12 02:00:00 | 2     |
|  2 | 2015-07-12 03:00:00 | 3     |
|  2 | 2015-07-12 04:00:00 | 4     |
|  2 | 2015-07-12 05:00:00 | 5     |
|  2 | 2015-07-12 06:00:00 | 6     |
|  2 | 2015-07-12 07:00:00 | 7     |
|  2 | 2015-07-12 08:00:00 | 8     |
|  2 | 2015-07-12 09:00:00 | 9     |
|  2 | 2015-07-12 10:00:00 | 10.5  |
|  2 | 2015-07-12 11:00:00 | 11    |
|  2 | 2015-07-12 12:00:00 | 12    |
|  2 | 2015-07-12 13:00:00 | 13    |
|  2 | 2015-07-12 14:00:00 | 14    |
|  2 | 2015-07-12 15:00:00 | 15    |
|  2 | 2015-07-12 16:00:00 | 16    |
|  2 | 2015-07-12 17:00:00 | 17    |
|  2 | 2015-07-12 18:00:00 | 18    |
|  2 | 2015-07-12 19:00:00 | 19    |
|  2 | 2015-07-12 20:00:00 | 20    |
|  2 | 2015-07-12 21:00:00 | 21    |
|  2 | 2015-07-12 22:00:00 | 22    |
|  2 | 2015-07-12 23:00:00 | 23    |
|  2 | 2015-07-13 00:00:00 | 24    |
|  3 | 2016-11-01 01:00:00 | 1     |
|  3 | 2016-11-01 02:00:00 | 2     |
|  3 | 2016-11-01 03:00:00 | 3     |
|  3 | 2016-11-01 04:00:00 | 4     |
|  3 | 2016-11-01 05:00:00 | 5     |
|  3 | 2016-11-01 06:00:00 | 6     |
|  3 | 2016-11-01 07:00:00 | 7     |
|  3 | 2016-11-01 08:00:00 | 8     |
|  3 | 2016-11-01 09:00:00 | 9     |
|  3 | 2016-11-01 10:00:00 | 10    |
|  3 | 2016-11-01 11:00:00 | 11    |
|  3 | 2016-11-01 12:00:00 | 12    |
|  3 | 2016-11-01 13:00:00 | 13    |
|  3 | 2016-11-01 14:00:00 | test  |
|  3 | 2016-11-01 15:00:00 | 15    |
|  3 | 2016-11-01 16:00:00 | 16    |
|  3 | 2016-11-01 17:00:00 | 17    |
|  3 | 2016-11-01 18:00:00 | 18    |
|  3 | 2016-11-01 19:00:00 | 19    |
|  3 | 2016-11-01 20:00:00 | 20    |
|  3 | 2016-11-01 21:00:00 | 21    |
|  3 | 2016-11-01 22:00:00 | 22    |
|  3 | 2016-11-01 23:00:00 | 23    |
|  3 | 2016-11-02 00:00:00 | 24    |
|  4 | 2014-05-25 01:00:00 | 1     |
|  4 | 2014-05-25 02:00:00 | 2     |
|  4 | 2014-05-25 03:00:00 | 3     |
|  4 | 2014-05-25 04:00:00 | 4     |
|  4 | 2014-05-25 05:00:00 | 5     |
|  4 | 2014-05-25 06:00:00 | 6     |
|  4 | 2014-05-25 07:00:00 | 7     |
|  4 | 2014-05-25 08:00:00 | 8.954 |
|  4 | 2014-05-25 09:00:00 | 9     |
|  4 | 2014-05-25 10:00:00 | 10    |
|  4 | 2014-05-25 11:00:00 | 11    |
|  4 | 2014-05-25 12:00:00 | 12    |
|  4 | 2014-05-25 13:00:00 | 13    |
|  4 | 2014-05-25 14:00:00 | 14    |
|  4 | 2014-05-25 15:00:00 | 15    |
|  4 | 2014-05-25 16:00:00 | 16    |
|  4 | 2014-05-25 17:00:00 | 17    |
|  4 | 2014-05-25 18:00:00 | 18    |
|  4 | 2014-05-25 19:00:00 | 19    |
|  4 | 2014-05-25 20:00:00 | 20    |
|  4 | 2014-05-25 21:00:00 | 21    |
|  4 | 2014-05-25 22:00:00 | 22    |
|  4 | 2014-05-25 23:00:00 | 23    |
|  4 | 2014-05-26 00:00:00 | 24    |
+----+---------------------+-------+

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

複数行のサブクエリの行を、T-sqlのInで使用される条件ステートメントと組み合わせる方法

分類Dev

T-SQLを使用して、長さが異なる複数の親子関係を組み合わせるにはどうすればよいですか?

分類Dev

t-sqlを使用して論理アイテムの組み合わせを確認するにはどうすればよいですか?

分類Dev

T-SQLステートメントからデータフローに結果セットを追加するにはどうすればよいですか?

分類Dev

SQLで2ビット列を組み合わせるにはどうすればよいですか?

分類Dev

PowerShellを使用してT-SQLファイルのブロックコメント内にGOステートメントが含まれているかどうかを確認するにはどうすればよいですか?

分類Dev

1つのSQLクエリで複数のカウントを組み合わせるにはどうすればよいですか

分類Dev

グループ化と組み合わせると、T-SQLクエリで日付を正しく並べ替えるにはどうすればよいですか?

分類Dev

固定の月日をSQL年関数と組み合わせるにはどうすればよいですか?

分類Dev

IFステートメントをIF(OR)ステートメントと組み合わせるにはどうすればよいですか?

分類Dev

特定のグループでのフラグの発生数をカウントするt-sqlステートメントを作成するにはどうすればよいですか?

分類Dev

java.util.Dateオブジェクトとjava.sql.Timeオブジェクトを組み合わせるにはどうすればよいですか?

分類Dev

ツールPGADMINを使用してPostgresで複数のSQLステートメントを実行するにはどうすればよいですか?

分類Dev

複数のSQL更新ステートメントをマクロに統合するにはどうすればよいですか?

分類Dev

タイムスタンプ間のステータスのレコードを選択するにはどうすればよいですか?T-SQL

分類Dev

ブール比較と「iflet」ステートメントをきれいに組み合わせるにはどうすればよいですか?

分類Dev

Laravel / Eloquent-複数の生のSQLステートメントを同時に実行するにはどうすればよいですか?

分類Dev

SQL SERVER Selectステートメントに挿入を使用して複数の行を挿入するにはどうすればよいですか?

分類Dev

「ifステートメント」をモナークの日付と組み合わせて使用するにはどうすればよいですか?

分類Dev

複数のExpression <Func <T、bool >>を1つの式に組み合わせて、DbContextに対して実行するにはどうすればよいですか?

分類Dev

SQLとPHPの「SELECTDISTINCTCASEWHEN」ステートメントで「ORDERBY」ステートメントを使用するにはどうすればよいですか?

分類Dev

SQL Serverの列(カンマ区切り)を組み合わせて重複行を削除するにはどうすればよいですか?

分類Dev

SQL / Laravelで2つのフィールドの組み合わせを同じように見つけるにはどうすればよいですか?

分類Dev

SQL / Laravelで2つのフィールドの組み合わせを同じように見つけるにはどうすればよいですか?

分類Dev

SQLで複雑な結合ステートメントの結果を適切にクエリするにはどうすればよいですか?

分類Dev

Controlled Lifetimeリレーションシップタイプ(つまり、Owned <T>)をデリゲートファクトリと組み合わせるにはどうすればよいですか?

分類Dev

SQLで、LIKE句とそのワイルドカード関数を使用して1つの条件/パラメータに組み合わせるにはどうすればよいですか?

分類Dev

SQLに複数の値を挿入しようとしたときにステートメントの終わりを修正するにはどうすればよいですか?

分類Dev

複数の変数を各変数内のアンダースコアと組み合わせるSQLをどのように記述しますか?

Related 関連記事

  1. 1

    複数行のサブクエリの行を、T-sqlのInで使用される条件ステートメントと組み合わせる方法

  2. 2

    T-SQLを使用して、長さが異なる複数の親子関係を組み合わせるにはどうすればよいですか?

  3. 3

    t-sqlを使用して論理アイテムの組み合わせを確認するにはどうすればよいですか?

  4. 4

    T-SQLステートメントからデータフローに結果セットを追加するにはどうすればよいですか?

  5. 5

    SQLで2ビット列を組み合わせるにはどうすればよいですか?

  6. 6

    PowerShellを使用してT-SQLファイルのブロックコメント内にGOステートメントが含まれているかどうかを確認するにはどうすればよいですか?

  7. 7

    1つのSQLクエリで複数のカウントを組み合わせるにはどうすればよいですか

  8. 8

    グループ化と組み合わせると、T-SQLクエリで日付を正しく並べ替えるにはどうすればよいですか?

  9. 9

    固定の月日をSQL年関数と組み合わせるにはどうすればよいですか?

  10. 10

    IFステートメントをIF(OR)ステートメントと組み合わせるにはどうすればよいですか?

  11. 11

    特定のグループでのフラグの発生数をカウントするt-sqlステートメントを作成するにはどうすればよいですか?

  12. 12

    java.util.Dateオブジェクトとjava.sql.Timeオブジェクトを組み合わせるにはどうすればよいですか?

  13. 13

    ツールPGADMINを使用してPostgresで複数のSQLステートメントを実行するにはどうすればよいですか?

  14. 14

    複数のSQL更新ステートメントをマクロに統合するにはどうすればよいですか?

  15. 15

    タイムスタンプ間のステータスのレコードを選択するにはどうすればよいですか?T-SQL

  16. 16

    ブール比較と「iflet」ステートメントをきれいに組み合わせるにはどうすればよいですか?

  17. 17

    Laravel / Eloquent-複数の生のSQLステートメントを同時に実行するにはどうすればよいですか?

  18. 18

    SQL SERVER Selectステートメントに挿入を使用して複数の行を挿入するにはどうすればよいですか?

  19. 19

    「ifステートメント」をモナークの日付と組み合わせて使用するにはどうすればよいですか?

  20. 20

    複数のExpression <Func <T、bool >>を1つの式に組み合わせて、DbContextに対して実行するにはどうすればよいですか?

  21. 21

    SQLとPHPの「SELECTDISTINCTCASEWHEN」ステートメントで「ORDERBY」ステートメントを使用するにはどうすればよいですか?

  22. 22

    SQL Serverの列(カンマ区切り)を組み合わせて重複行を削除するにはどうすればよいですか?

  23. 23

    SQL / Laravelで2つのフィールドの組み合わせを同じように見つけるにはどうすればよいですか?

  24. 24

    SQL / Laravelで2つのフィールドの組み合わせを同じように見つけるにはどうすればよいですか?

  25. 25

    SQLで複雑な結合ステートメントの結果を適切にクエリするにはどうすればよいですか?

  26. 26

    Controlled Lifetimeリレーションシップタイプ(つまり、Owned <T>)をデリゲートファクトリと組み合わせるにはどうすればよいですか?

  27. 27

    SQLで、LIKE句とそのワイルドカード関数を使用して1つの条件/パラメータに組み合わせるにはどうすればよいですか?

  28. 28

    SQLに複数の値を挿入しようとしたときにステートメントの終わりを修正するにはどうすればよいですか?

  29. 29

    複数の変数を各変数内のアンダースコアと組み合わせるSQLをどのように記述しますか?

ホットタグ

アーカイブ