問題タブ [case-when]

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

mysql - group by と case when を使用した Mysql クエリ

MySQL データベースにこのような 3 つのテーブルがあるとします。

1 人のユーザーが複数の役割を持つ場合があります。
ユーザーが複数のroleを持っている場合、最初に来るロールを 1 つ選択する必要がありますhierarchy(Pre-defined)。階層の順序は、たとえば、Johnに 2 つのロール(管理者、ユーザー) がある場合、予想される出力は次のようになります。 1.Admin,2.Supervisor,3.User.

クエリの最終結果。

次のクエリを試しました。


ありがとう。すべての答えをいただければ幸いです。

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

sql-server - CASE-WHEN がサブクエリを返すときの TSQL エラー

WHEN または ELSE のいずれかがサブクエリを返すように、IN() ステートメントに CASE-WHEN ステートメントをネストする方法はありますか。私にとって、それは問題ではないはずですが、どういうわけかエラーが発生しています:

「サブクエリが複数の値を返しました。」

IN()複数の値を処理することになっています!

エラーを再現するための小さな例を次に示します。

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

sql - 複数の結果を結合する SQL クエリ

複数の行ではなく 1 つの行に日付を表​​示する SQL クエリを実行しようとしています。また、表示される各日付間の日数を決定する必要があります。

現在のクエリの下を見つけてください。

出力が以下のようになることを願っています

ご協力いただきありがとうございます。

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

sql-server - ID フィールドの変更を返す SQL 2008

これを書き出す方法さえわかりません。ロジックをケースに入れるのはいつですか?

personnum には、1 日を通して複数の orgid が適用される場合があります。orgid に変更があった場合は、その変更を返したい。

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

sql - SQL DB2 - Possible to shorten long-listed 'case when' statement?

Sometimes my queries have long case when statements. For example,

This case when statement itself takes up 37lines and I was wondering if there might be maybe a way to shorten the case when statement by using i=00, ..., 36 something like that?

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

sql - テーブルで複数の null 値をカウントする

私はいくつかの調査を行いましたが、ほとんどの場合、小さなテーブルではすべての答えが受け入れられます。約 25 列のテーブルを使用しています。私がやりたいのは、テーブル全体に null 値がいくつあるかを数えることです。私が理解していることから、count() は、条件ステートメントが真である行をカウントします。たとえば、12 行のテーブル "some_table" があり、次のステートメントがあるとします。

テーブルの列数に関係なく、12 を返します (これらの各行が条件に一致する場合)。特定のシナリオで null 値をカウントする場合、テーブルが小さい場合はカウントできます。しかし、そうでない場合はどうなりますか?大量のクエリを作成せずに、列全体で複数の null 値をカウントするにはどうすればよいでしょうか?

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

sql - CASE WHEN を正しく使用していますか?

編集:

申し訳ありませんが、最初に明確にしませんでした。CompanyType は smallint、null ではなく、TotalLicenses は int、null です

基本的に私はそれを確認したいだけですTotalLicenses > 0 if C.CompanyType != 4

いくつかのリファレンス ガイドとチュートリアルを見ましたが、この例で意図したとおりに CASE WHEN を使用していることを確認できるものは見つかりませんでした。

有効期限が今日の日付以上で、DemoLicense が 0 に等しく、会社の種類が 4 でない場合は TotalLicenses が 0 より大きい場合、「購入済み」列を 1 に更新しようとしています。4 の場合は、 0

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

oracle - オラクル BI の場合

スタッフ ID のリストを評価し、それらが「トレーニング」か「有給」かを判断する基本的な case when ステートメントを作成しました。

ただし、ID に対して両方のカテゴリを持つ必要があるスタッフがいますが、「トレーニング」としてのみ表示されます。これは、ステートメントで最初に表示される場所であるためです。

これを修正することは可能ですか?