問題タブ [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 投票する
1 に答える
332 参照

pivot - 動的にピボットする方法

2 つのテーブルがあります。リード、テリトリー、リファラー。

リードには列があります:

p>

リファラーには次のものがあります。

p>

地域には次のものがあります。

p>

リードは常にテリトリーに関連し、リードは必要に応じてリファラーに関連付けることができます。

見込み客と紹介者のレコードは定期的に挿入されます (紹介者の頻度は低くなります)。次のような GridView でレポートを出力したいと考えています。

問題は、テリトリー別にグループ化し、テリトリーごとに見込み客をカウントしたいということです....これで問題ありません:-

しかし今、リファラーごとにカウントを分解したいと思います。

PIVOT で部分的にそれを行うことができることは理解していますが、リファラーをコードで明示的に記述する必要があることは理解しています。リファラーの行数に基づいて追加の列を追加する何らかの動的ピボットを実行する方法はありますか?

SP 内で動的 SQL を使用する必要がありますか?

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

sql - 動的ピボットの問題 + SQL Server 2005

私は問題があります。実際、私たちのアプリケーションでは、以前は顧客が 1 か月あたり 3 回の分割払いを支払うことが許可されていましたが、現在は任意の回数を支払うことができます。だから私は以前のクエリを持っています

出力はこれです

しかし、私が言うように、分割払いは現在変更可能です (たとえば、1 か月で 4 回、翌月で 5 回、3 回、または 6 回になる可能性があります)。

前もって感謝します

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

plsql - Oracle 10g PL/SQL のコンテンツに基づいて行を列にピボットする

user_answersデータベースに、一連の質問に対するユーザーの回答を行で保存するテーブルがあります。user_idquestion_idanswer_idおよびtext_entry。質問テキストと回答テキスト (存在する場合) はルックアップ テーブルに格納されます。問題には、単一回答問題、複数回答問題、文字入力問題の 3 種類があります。そのため、1 人のユーザーがuser_answersテーブルに次のようなエントリを持つ可能性があります。

questions_textテーブルに次のものがあるとしましょう。

answers_textテーブルには次のものがあります。

次のように、user_id ごとに 1 行で回答を示す csv にデータを抽出したいと考えています。

SQLPlus 経由で CSV ファイルを生成する方法は知っていますが (自分では制御できない理由で SQLPlus 経由でのみ DB にアクセスできます...)、PL/SQL ステートメントを生成する方法がわかりません。

PL/SQLでは、次のようにして性別の質問のピボットを生成できることを知っています

(私は SQL の専門家ではないので、これはインターネットからコピーされたものです!)

このコードは (少なくとも私のテストでわかっている限りでは) 単一回答の質問には適していますが、複数回答またはテキスト入力タイプの質問では機能しません。

case次のように、PL/SQL でステートメントを使用することについてオンラインでいくつか見ました。

...しかし、回答を列に入れる方法がわかりません。そして、関連する可能性のあるSOの質問はすべて、SQLサーバー固有のものです。

単一の PL/SQL ステートメントから目的の出力を生成する方法はありますか? これを実行する必要がある可能性のあるデータベースが多数あるため、テーブル内のデータに依存しない方法で作成することをお勧めします。

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

asp-classic - ADOレコードセットのフィールド名を取得する(クラシックASP)

誰かが助けることができるかどうか疑問に思います:

簡単に言うと、私はMSSQL2005を使用してピボットテーブルを作成しています。調査されるデータは日付範囲によって制限されます(最も近い月曜日から選択された日付までの1週間のすべてのデータ)

ストアドプロシージャを実行して日付を渡すと、正しいテーブルが返されます。例:

時間 09年1月1日 09年1月2日 09年1月3日 ..。
09:00 0 9 25 ..。
09:30 8 27 65 ..。
10:00 20 44 112 ..。

私が抱えている唯一の問題は、SPに渡された日付(目的の表示日)とSP内のロジック(左側の列をその日付に最も近い月曜日にする)の両方に基づいて列ヘッダーが変化することです。指定)。

これは、結果をユーザーに表示するときに、(現在)従来のASPで日付チェックロジックを複製する必要があることを意味します[簡単ですが、保守性は失敗します]

私が本当に必要としているのは、レコードセット自体から列名を取得する方法です。

誰かが私を正しい方向に向けてくれませんか?

私はグーグルで検索しましたが、得られるすべての結果はテーブルスキーマの読み取りに関連しているようです。この場合、テーブルはメモリ内でオンザフライで生成されているため、役に立ちません。

あなたが提供できるどんな助けにも前もって感謝します

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

sql - SQL の質問: 複数の結果を単一の行にピボットするにはどうすればよいですか?

データベース名に「train delay, with columns」というテーブルがあります

そのため、列車には遅延理由ごとに複数の遅延時間がある場合があります。次に例を示します。

次のデザインの Crystal レポートを作成したいと考えています。

しかし、この結果を得るクエリがわかりません。

私はこれを試しました:

しかし、出力は次のようになります。

そして、私はそれを望んでいません。私はこのようなものが欲しい:

0 投票する
4 に答える
3100 参照

sql - SQL ピボット テーブル

次のデータを含む SQL ビューがあります。

私はこのような結果が欲しい:

Pivot の例を調べてみましたが、それらはすべて SUM またはその他の集計関数のいずれかです。私もやっていないので、それがうまくいくかどうかはわかりません。

0 投票する
5 に答える
37549 参照

sql - SQLServer2008でのPIVOTの使用

SQLServer2008テーブルまたは[table]タイプの変数のいずれかにデータがあるとします。

次のような結果セットとしてデータを取得したいと思います。

(とにかく、この投稿によると)PIVOT演算子が必要なのではないかと思いますが、特にテーブル内のquestion_id行の数が変化する可能性がある場合は、開始方法がわかりません。上記の例では5ですが、別のクエリでは、テーブルに7つの異なる質問が入力される場合があります。

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

sql - クレイジーな SQL の質問: ピボットを使用してある種のクロス適用を行うにはどうすればよいですか?

顧客は、フィールドに大量のレコードがあるデータにショートカットを持っています。それらを解析するとき、「識別子」を 7 日ずつ増やして、数量ごとに 1 つのレコードを作成する必要があります (数字は日付を表しているためです。

例: 4 週間販売されている単一の製品で、4 つのレコードが必要です。毎週 1 つの製品。

 [Event Number]   [Classification]   [Weeks Running]    [Some Data]  
 2009 11 29 00           1                   1         runs one week 
 2009 12 06 00           2                   1         runs one week 
 2009 12 13 00           1                   4        runs four weeks
 2009 12 20 00           2                   4        runs four weeks

どういうわけか、このデータをビュー(sql select)で次のように変換する必要があります(すべて同じテーブル内にあり、パーツを表示するために空白が含まれています:

 [Event Number + Classification]      [Some Data]    
          2009 11 29 01            runs for one week 1週間で1レコード。
          2009 12 06 02            runs for one week 

          2009 12 13 01           runs for four weeks日付を 7 ずつ
          2009 12 20 01           runs for four weeks
          2009 12 27 01           runs for four weeks
          2009 01 03 01           runs for four weeks

          2009 12 20 02           runs for four weeks増やして 4 回繰り返す 日付を 7 ずつ増やして 4 回繰り返す
          2009 12 27 02           runs for four weeks
          2009 01 03 02           runs for four weeks
          2009 01 10 02           runs for four weeks

私の考えは、ある種のピボットクロス適用SQLコードを持っていることですか?

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

sql-server - データに何も存在しない場合に null 値を返す SQL Server 動的ピボット

次のような3 つのテーブル ( tblPreferencetblCustomertblCustomerPreference) があります。

このデータのピボットを作成しているので、次のストアド プロシージャを使用してすべてが 1 つの行になり、常にすべての設定が引き戻され、顧客固有の値が見つかった場合はそれが返され、それ以外の場合はデフォルト値が返されます。

私が直面している問題は、CustomerID 1 または 2 を照会すると、期待どおりにすべての値が入力されて、すべてが期待どおりに返されることです。しかし、CustomerID 3 を照会するとNULL、他の顧客用に入力された PreferenceID に対して が返されます。式なしでクエリを実行するとPIVOT、期待どおりに入力されたすべての設定が返されます。データが忍び寄るのをピボットしたときだけNULLです。簡単なことを見逃していることを願っていますが、エラーは表示されません。

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

tsql - SQLは行を列に変換します

私はこれが数回前に尋ねられたことを知っています、しかし私は私の例に合うどんな解決策も見つけることができません。

現在、特定のページを使用するためのユーザー権限の表があります。テーブルは次のようになります。

このデータからテーブルを生成するにはどうすればよいですか。すべてのページ名が列として表にされ、テーブルの各行はユーザーID用であり、列の値は、元のテーブルに次のエントリがあるかどうかに基づいて0または1を表示します。その特定のページ、例えば:

あなたの助けは大歓迎です!