問題タブ [coalesce]
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.
pseudocode - 日付のリストを範囲に結合/折りたたむための再帰的アルゴリズム
与えられた日付のリスト
範囲のリストを生成するための再帰的な擬似コード アルゴリズム (FileMaker カスタム関数に変換できる) へのポインターを探しています。
リストは事前にソートされ、重複が排除されています。私は最初の値から始めて前方に作業し、最後の値から後方に作業しようとしましたが、それを機能させることができないようです. そんなもどかしい日々を… サインがこんな感じだったらいいな
:-)
sql - Hibernate Criteriaクエリで同等の合体?
次のクエリをHibernateCriteriaクエリとして記述したいと思います。
しかし、nvl関数を同等のCriteriaクエリに変換する方法がわかりません。HQLには合体式があることに気付きましたが、それをCriteriaクエリとして記述したいと思います。
アドバイスをいただければ幸いです。
編集:誰かが上記を行うHQLクエリを提供できる場合、それも私の解決策になる可能性があります。
sql - この SQL クエリはどういう意味ですか?
次の SQL クエリがあります。
私はそれを理解するのに少し苦労しています。それは非常に単純に見えます。合体演算子が何をするかは (多かれ少なかれ) 知っていますが、意味を理解していないようです。
上記のクエリ以外の情報がわかりませんが、それは何を意味していると思いますか?
tsql - T-SQL の入れ子になったサブクエリ
この作業コードを SQL ステートメント内に配置したい、または UDF を実行する必要がありますか?
結果セットは 1 行の連結であり、結果セット全体の行ごとに配置したいと考えています。
sql-server-2005 - SQL クエリ: 階層結合
階層を定義するテーブルがあります。
このデータの階層図:
特定の [id] 値に対して単一の行を返すクエリを作成したいと考えています。行には、その行の [id] および [parentID] 情報が含まれている必要があります。[largeData1...n] フィールドも含まれている必要があります。ただし、largeData フィールドが null の場合は、そのフィールドの null 以外の値が検出されるまで、階層を上に移動する必要があります。つまり、一連の列ではなく行の階層を横断することを除いて、coalesce 関数のように機能する必要があります。
例:
[id] = 1 の場合:
[ID] = 2
[ID] = 3
[ID] = 4
[ID] = 5
これまでのところ、私はこれを持っています:
これにより、探している結果が返されます。ただし、クエリ プランによると、プルバックする largeData フィールドごとに階層を個別に通過させています。
これをより効率的にするにはどうすればよいですか?
これは明らかに、より複雑な問題の単純化されたバージョンです。最後のクエリはデータを XML 形式で返すため、FOR XML 句を含むソリューションは問題ありません。
これが役立つ場合は、CLR 集計関数を作成できます。私はまだそのルートを探索していません。
sql - 合体内で選択して変数を設定する
ストアド プロシージャのこの部分を修正するにはどうすればよいですか?
select は 1、0、または null を返します。select が 1 または 0 を返す場合、@override をその値に設定します。null を返す場合は、@override を 1 に設定します。
構文に問題があります。「'select' 付近の構文が正しくない」および「')' 付近の構文が正しくない」と言われます。
SQLは次のとおりです。
sql - 空のフィールドに相当する ISNULL
ISNULL() OR COALESCE() のようなものはありますが、null 値ではなく空の値をチェックします。
例えば:
4 つの列を返す代わりに、3 つを取得し、3 つ目の列は、最初の列が EMPTY の場合、cu.email または hu.email のいずれかの値を持つと仮定します。ISNULL と COALESCE がここで機能しない理由がわからない
sql - より効率的な二重合体結合の代替手段
以下の(少し複雑な)バージョンの手順があります。
基本的に、Match1 は必須の一致ですが、Match2 はプロシージャへの入力と検索対象のテーブルの両方でオプションです。2 番目の一致は、入力および/またはテーブルの Match2 値が null である場合、または両方が同じ (null ではない) 値である場合に成功します。
私の質問は次のとおりです。これを行うためのより効率的な(またはさらに読みやすい)方法はありますか?
私はこの方法を数回使用しましたが、毎回少し汚れているように感じます (主観的な汚れは認めます)。
sql - SQLステートメントでCOALESCE()を使用するのはなぜですか?
私はいくつかの古いコードをリファクタリングしていて、この名前の付いたクエリに出くわしました(mysqlの上で休止状態を使用しています):
なぜこれがこのように使用されているのかわかりませんCOALESCE
:
COALESCE(:userAlternateId,null) is null
これはパフォーマンスハックですか、それともクエリデータベースを独立させますか...?
btwuserAlternateId
は文字列/変数であり、他のIDはlongでありfrom-to
、日付です
mysql - MySQL ルックアップ テーブルの値を使用して複数のテーブルから日付で最新のレコードを取得する
存在する場合、特定の最新の MainNumber、Serial、BarType、および Notes を取得したいと考えてMainNumber
います。BarType はルックアップ テーブルに格納され、BarID で参照されることに注意してください。
不合理はこれを思いついた:
これは Notes であるかどうかNULL
に関係なく問題ありませんが、Serial と BarType が必要です。MainNumber は、その存続期間中に複数のシリアルに割り当てられている可能性がありますが、最新のシリアルのみが必要です。(他のテーブルの約15の他のフィールドでこれを行う必要があるため、可能な場合はパフォーマンスの高い回答をいただければ幸いです)
テーブル
数字の表:
備考表:
ref_bars テーブル:
バーテーブル:
サンプルデータ
SELECT * FROM notes
:
注: MainNumber = 1 の場合は 2 行ありますが、MainNumber が 2 の場合は行はありません。ID は技術的なものであり、使用されることはありません。
SELECT * FROM numbers
:
SELECT * FROM bars
:
SELECT * FROM ref_bars
:
期待される出力
メイン番号 = 1
メイン番号 = 2
編集:物事をより明確にしながら、それを修正してテストしました(うまくいけば)。私は今日、他のことをするために急がされました。書き方が悪く、不完全な質問で人々の時間を無駄にしてしまい申し訳ありません。
より複雑な要件を明確にするために更新