問題タブ [table-variable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
86 参照

sql - テーブル変数をループして特定の計算を行う方法は?

そのようなテーブル変数がある場合、この変数をループして処理を行う方法:


コメントによると、ケース全体:

作業が : に開始され、 (作業期間]att_start_timeに終了する場合att_end_time

すべての従業員は、同じ日に何度もチェックインおよびチェックアウトできるため、彼に従うことができました。に保存されたチェックインとに保存されたtranstime_in チェックアウトtranstime_out

そして、私はday_flagその日が「W」の勤務日または「E」の週末であることを知ることができるようにしました

これらすべての情報に加えて、emp_num ,date

私は従業員のために計算したいExternal mission over time

私には4つのケースがあります:

  1. No check-in-out && Not work day [週末] したがって、従業員はすべてのミッション期間を残業にする必要があります
  2. チェックインアウト && 勤務日 [不在] がないため、従業員は勤務期間のうちミッション期間のみを取る必要があります
  3. チェックイン アウト && 非稼働日 [週末] があるため、従業員はこれらのチェックイン アウトからミッション期間のみを取得する必要があります
  4. チェックインアウト && 就業日があるため、従業員はこれらのチェックインアウトのうちミッション期間のみを取得し、同時に勤務期間を終了する必要があります。

例 :


0 投票する
1 に答える
150 参照

sql-server - テーブル式とテーブル変数/一時テーブルの永続性

私が理解していることから、テーブル式は永続的ではありません。つまり、外部コードでのテーブル式へのすべての参照は、定義への繰り返しの呼び出しです。これは、テーブルを永続化し、毎回再評価することを避けるために、テーブル変数/一時テーブルが登場する場所です。繰り返しを避けるには、テーブル変数/一時テーブルの方が適しているようです。メソッドを呼び出す代わりに、プログラミングにアナロジーを作成しました

毎回、変数を割り当てたい

myMethod() を複数回呼び出さないようにします。myMethod()はテーブル式に類似しており、res はテーブル変数/一時テーブルです。

では、なぜテーブル式を使用するのでしょうか? 他の 2 つの代わりにテーブル式を使用する必要があるシナリオはどれですか? およびその逆?

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

0 投票する
1 に答える
1281 参照

sql-server - テーブル変数の代わりに varchar を使用した動的 SQL

私は動的 SQL と SQL Server 全般にかなり慣れていませんが、 内のテーブル リストを反復処理したいと考えていますinformation_schema.tables。各反復にはvarchar、テーブル名 ( ) 内で検索される月-年をリストする変数がありますwhere table_name like concat('USA_RETHHDs_%', @Month)

一致した日付を持つ各テーブルは、varchar変数に配置されます。table問題は、代わりにリストから変数を取得したいのですが、information_schema.tablesこれを行う方法がわからないことです。varcharその結果、変数を動的 SQL クエリに埋め込んで、動的ルートに移動しようとしています。ただし、tableではなく変数が必要varcharです。

0 投票する
1 に答える
955 参照

temp-tables - memsql は一時テーブルまたはテーブル変数をサポートしていませんか?

Memsql で一時テーブルを作成しようとしました: Create temporary table ppl_in_grp as select pid from h_groupings where dt= '2014-10-05' and location = 'Seattle'

次のエラーが発生しました:機能 'TEMPORARY テーブル' は MemSQL でサポートされていません。

代わりに使用できる同等のものはありますか?ありがとう!

0 投票する
1 に答える
8900 参照

common-table-expression - CTE、一時テーブルおよびテーブル変数

CTEtemp tableおよび をどこで使用するtable variableか教えてください。

私はそれらの違いについて読みましたが、それらの使用法に混乱しています。助けてください。

ありがとう。

0 投票する
0 に答える
53 参照

sql-server - 「テーブル」列に出力するSQL 2012クエリ

SQLクエリのプロトタイプがあります(実際のクエリは大きすぎて投稿できません)

それが出力する

テーブルを持つ名前の列とともに、サイトを出力するクエリを作成する方法RISK STATISTICS、つまり

@sean-lange Tableauに入力するためのフラットな Excel ファイルを作成しようとしています。各サイトは地図上にプロットされ、リスクがある場合はホバーオーバーで詳細が表示されます。

サイトにはゼロから多数のリスクがある可能性があるため、table値を持つ列、つまり配列値を持つ列が必要になります。

0 投票する
2 に答える
10025 参照

sql - 照会された CTE 出力を一時テーブルまたはテーブル変数に保存する方法

私はこれCTEをクエリします

table variableここで、この結果をorに保存しようとしますtemporary table。私が試したら

私は声明をincorrect syntax error回避します。コマンドは a の代わりに aを期待しているWITHと思いますが、同じことが にも当てはまります。私は解決策を探していましたが、私が見つけたのは. 上記の出力をまたはに取得するにはどうすればよいですか?Insert IntoSelect statement;WITHCreate TableSelect Statement;Withtemporary tabletable variable

SQL Server 2014 を使用しています。

0 投票する
2 に答える
4929 参照

sql-server - SQL Server の UPDATE クエリのサブクエリでテーブル変数を参照する方法

ストアド プロシージャに UPDATE クエリがあり、データが既に入力されているテーブル変数を更新する必要があります。このクエリは、次のコードのように、サブクエリでのテーブル変数の@daysPerEmail.ProductId参照、つまりサブクエリでの参照が原因でエラーが発生しています。のようにテーブル変数のエイリアスを使用しようとしましたUPDATE @daysPerEmail d SET LastEmailDate...が、役に立ちませんでした。

質問: ProductId のテーブル変数列がサブクエリで正しく参照されるようにクエリを書き直すにはどうすればよいですか?

更新 1

これを SSMS で再現するには、次のクエリを使用します。SSMSはエラーを出しますMust declare the scalar variable "@daysPerEmail".

更新 2

パオロの答えは期待通りに機能しましたが、以下のようにクエリを使用した別の簡単な解決策も見つけました。@daysPerEmail テーブル変数の ProductId の列に一意の名前を付けるだけで済みました。名前を、UPDATE クエリに含まれるどのテーブルにも存在しない ProdId に変更しました。その後、サブクエリでテーブル変数を参照する必要はありませんでした。ProdId 列名は、UPDATE クエリで使用されるテーブルの中で @daysPerEmail テーブル変数でのみ検出されるためです。

0 投票する
2 に答える
2890 参照

r - RODBC コマンド 'sqlQuery' には、t-SQL のテーブル変数に関する問題があります

Microsoft SQL Server 2012 に適用している RODBC パッケージを使用しています。

今、私を困惑させる現象を発見しました。

RODBC コマンド sqlQuery を使用して次のクエリを実行すると、R では、Country、CID、PriceID、および WindID の列を含む空のデータ フレームが返されます。

これまでのところ、すべて問題ありません。

ただし、テーブル変数にレコードを書き込んで実行しようとすると

次に、R では、結果は 1 つのレコードを持つデータフレームではなく空の文字になります。それでも、同じクエリが SQL Server Management Studio で完全に機能します。また、R-Query の実行中に DB サーバーの動作を追跡したところ、サーバーはそれを完全に処理しているようです。RODBC インターフェースは結果を R コンソールに返すのに問題があるようです。

この問題を解決する方法を知っている人はいますか?