問題タブ [dynamic-pivot]

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 投票する
2 に答える
216 参照

sql-server - 列が変化する動的ピボット

DX一時テーブルからデータを取得し、そのデータを一時POAテーブルに挿入するPOAコード動的ピボットがあります。
私が抱えている問題は、最大 35 の異なる列が返される可能性があることです。月によって、15 列 ( POA1...POA15) または 35 列すべて( ) の場合がありますPOA1...POA35。この動的ピボット一時テーブルを別の患者テーブルに結合します。私の問題は、一部の列が一時 POA テーブルに存在しない場合でも、35 列すべてを表示する必要があることです。

一部の列が に存在しないため、患者のクエリで無効な列名を受け取りました##tmpPOA#tmpDxPOAという名前の一時テーブルを作成して挿入 ( ) を実行することを考えましたInsert Into #tmpDxPOA select * from ##tmpPOAが、うまくいきません (列名が表示されるか、指定された値の数が一致しませんというエラーが表示されます)。

データがなくても 35 列すべてを作成する方法について何か考えはありますか? それらがnullかどうかは気にしません。メインの患者クエリにこれらのプレースホルダーが必要なだけで、返される列の数が毎月異なることは役に立ちません。

0 投票する
3 に答える
1334 参照

sql-server - 動的ピボットで行と列の合計を使用して平日を注文するにはどうすればよいですか

ID、employeeid、workdate、taskid、hours、entrydate、entrybyなどの従業員の詳細を含むテーブルがあります

もう 1 つのテーブルには、名、姓、メール ID、パスワードなどのユーザーに関する基本情報があります。

ここで、ユーザー名と従業員の平日と総労働時間を表示するクロス集計クエリを作成したいと考えています。まず、これに一時テーブルを使用することを考えていましたが、失敗したので、曜日ごとにこのようなものを使用します

しかし、私にとってこれはうまくいきません。誰でも、ピボットを使用してこのクエリを教えてください。このような結果が必要ですここに画像の説明を入力

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

sql-server - 動的ピボットで 2 つの列を 1 つの列に結合するにはどうすればよいですか

私はこのようなスキーマを持っています

デモ データとスキーマは、このフィドルhttp://sqlfiddle.com/#!3/dd89d5/1にあります。

出力では、行を列に変換したいと考えています。私が望む出力では、

月、年を並べ替えたい

私は多くのスレッドを調べて、フィドルを見つけました。そして、私のニーズに合わせてカスタマイズしようとしました

これが私が試したものです http://sqlfiddle.com/#!3/dd89d5/1

しかし、解決策を得ることができませんでした。私を助けてください

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

sql - 日付を列として動的にピボットする方法

製品 ID と名前を含むテーブルと、特定の日付のこれらの製品の在庫を含む別のテーブルがあります。在庫Item1あり、在庫ありなど。これらをストアド プロシージャで表示して、カレンダーのように表示し、1 か月のすべての日付とセルで利用可能な在庫を表示しようとしています。これを示す最良の方法は何ですか?61-1-201482-1-2014

例えば:

元のテーブル - 名前

元のテーブル - Stockdates

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

sql-server - SQL - 静的ピボットを動的ピボットに変換する

動作する次の静的ピボットがあります。

次の表が作成されます。

ただし、動的ピボットに変換したいと思います。e.CURCODEしたがって、別の通貨コードを取得して同じピボット テーブルを生成するようにコードを変更したいと思います。

どうもありがとう。

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

sql-server - SQL - ダブル ピボット - 2 番目のピボット (カウントあり) が期待どおりに機能しない

次のようなテーブルがあります。それを呼びましょうTBL1

最後に文字列が追加されたTARIHS単なるバージョンであることに注意してください。ダブルピボットには異なる列名が必要なため、これを使用します。次のことを行うダブル ピボットを構築したいと考えています。TARIHSAYI

したがって、次のようなテーブルを取得したいと思います。

ただし、ダブル ピボットを作成すると、次のようになります。

誰かが私のコードを手伝ってくれますか? 元のコードは少し長いのでここには貼り付けませんが、概要を理解できるように要約しました。

TARIHSまた、すべての選択から削除して最初のピボットを実行したいだけの場合、私のコードが機能することをお知らせしたいと思います。ただし、2 番目のピボットをTARIHSミックスに追加すると、目的とは異なるテーブルが表示されます。

ありがとう!

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

sql - SQL - UNION ALL を使用した動的 PIVOT コードのデバッグ

助けが必要です!私のコードの最初の部分は次のとおりです。


今のところ、問題はありません。上記のコードを使用すると、

出力を与えます:


クエリの 2 番目の部分は、問題が発生する場所です。コードは次のように構成されています。


2番目の部分は機能しません。次の 3 つのことを行うことで機能させることができます。

1-ピボットを静的にする(つまり'+ @cols +'[TL],[USD],[EUR]

2- 表 2、表 3、または表 4 を UNION ALL の組み合わせから削除します。どういうわけか、テーブルを 1 つだけ削除すると、動的ピボットが機能します。

3- 表 2、表 3、または表 4 のいずれかを削除し、残りの表の 1 つを別の UNION ALL 追加として再度追加できます。奇妙なことに、これも機能します。したがって、問題は、PIVOT ステートメントを妨害する 4 つのテーブルの 1 つの側面がある可能性があることです。

しかし、私は 1 から 4 までのすべてのテーブルを含めたいと考えており、変更に合わせて調整する動的なピボットが必要です!

すべてのUNION ALLを使用してPIVOTコンストラクトなしでSELECTステートメントを実行すると、コードも完全に正常に機能することに注意してください(以下に示したように)

私の元のコードは次のとおりです。


クエリを実行すると、次のエラーが表示されます。

これまでのところ、問題を特定できませんでした。コードの両方の部分が独立して実行できるため、コードに論理的な問題があるとは思いませんが、PIVOT 演算子を使用して結合すると失敗します。私のコードを調べて、私の推論や構文に間違いがないかどうかを確認していただけますか?

ありがとう!


アップデート

UNION ALLが機能することは事実です。以下は、元のコードの PIVOT コンストラクトの下にあるコードです。

コードはそれ自体で機能しますが、PIVOT 構造に入れると失敗します。助けてください!または、同じ結果が得られる PIVOT の代わりに使用できる方法を教えてください。


アップデート

を実行すると、次のようにクエリの長​​さに問題があると思いますprint @query(正しい方法を教えてくれた@KumarHarshに感謝します!):

@queryすべてのデータを取得できず、この問題を解決する方法がわからないため、何か問題があります。私の問題を解決していただければ幸いです。

ありがとう!

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

sql-server-2008-r2 - SQL Server 2008 の動的列に対する算術演算子

以下のテーブルと結果を作成するクエリがあります。

そして以下の結果を得ました:

上記のクエリは、#tblPartCondition、Pls の既知の列に基づいています。列が不明だった場合、何か考えはありますか? (ユーザーが新しい PercentageCode、PercentagePrice を追加した場合の例)。貴重な時間とシェアをいただければ幸いです。ありがとう!