問題タブ [ifnull]

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 に答える
177 参照

mysql - MySQL: 行をマージしてデフォルト値を返す

次の表を想像してください。

これを取得するには、どの SQL ステートメントを実行する必要がありますか。

  • 指定された ID と指定されたバリアントについて、この組み合わせの名前を取得します。
  • ただし、名前が NULL の場合は、指定された ID を持つがバリアント 1 を持つ行の名前を取得します (バリアント 1 の名前は NULL になることはありません)。
  • 指定されたバリアントを持つ行がない場合は、同じ ID を持つバリアントが 1 の行を再度使用します。
  • バリアント 1 が直接要求されることはありません。

これは、フォールバック メカニズムのようなものです。または、バリアント = 1 の行の値をオーバーライドすると考えることができます。

例:

  • ID = 1、バリアント = 2: b
  • ID = 1、バリアント = 3: c
  • ID = 2、バリアント = 3: d
  • ID = 3、バリアント = 5: g

これはSQLで可能ですか?また、その仕組みをもっと多くの分野に適用した場合、うまくいくのでしょうか?

ありがとう!

アップデート:

名前フィールドだけでなく、このメカニズムが欲しいことに注意してください。同じ動作を持つ列がさらにあるはずですが、各列は個別に処理する必要があります。

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

php - エラー ハンドルが機能しない - ファイルのアップロード チェック

1 つのページに複数の画像アップロード フォーム (最大 3 つ) がありますが、ユーザーが 1 つ以上の画像をまったくアップロードしないことを選択する場合があります。1 つ以上が空白のままになっている場合にアップロードを処理するスクリプトで、次のエラーが発生します。

「警告: copy() [function.copy]: ファイル名を空にすることはできません」....

以下のコードを使用して、フィールドが空の場合はコピー要求を無視しようとしましたが、ファイルのアップロードが存在するが機能しない場合はコピーを実行します。なぜこれが機能しないのか、より適切に別の方法でコーディングする必要があるのか​​ 教えてもらえますか?

processor.php ファイル内の PHP

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

mysql - 行が値を返すようになった場合のMySql Toad

mysql toadを使用しています。空のテーブルがあり、レコードが見つからない場合は文字列値を返そうとしていますが、言及されているクエリを試しましたが、何も機能せず、空の行のみが返されます。

クエリ

結果は空の文字列のみで、列 stDate は varchar 型です。

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

codeigniter - Codeigniter Active Record - IFNULL および COUNT 内の WHERE

基本的にロッカーをシミュレートするアプリケーションがあります。各ロッカーの中に N 個のラックがあります。各ラックの中には、N 個のボックス、N 個のフォルダー、および N 個の本があります。このオブジェクトの一部はアクセスできません (ACCESSIBLE と呼ばれるブール属性があります)。

各ロッカーと、タイプ (本、フォルダー、ボックス) ごとに並べられたオブジェクトの合計を表示したいと考えています。何かのようなもの:

RACK_ID: 1
RACK_NUMBER: 001
LOCKER_NUMBER: 54
SUM_BOXES: 10
SUM_FOLDERS: 20
SUM_BOOKS: 10

私のクエリ:

これは問題なく動作しますが、count は各ラックのすべてのボックス、本、フォルダーをACCESSIBLE OR NOTで返します。アクセス可能なオブジェクトのみを返す各カウントで WHERE 条件を入力したい (WHERE box.ACESSIBLE = 1 のようなもの)。どうやってやるの?

ありがとう。

編集:わかりましたので、解決策を見つけました:これに変更します:

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

mysql - サブクエリがNULLを返すかどうかをMySQLがチェックしてから、値を置き換えます

サブクエリが結果または null 値を返さない場合、WHERE 句の値を置き換える必要がある mysql クエリがあります。

必要に応じて機能する価格クエリ

正常に実行されます

このクエリを次のように変更し、IN 句内のサブクエリに IFNULL チェックを追加すると、エラーがスローされます

「SQL エラー (1242): サブクエリが複数の行を返しました」

IFNULL を COALESCE に置き換えてみましたが、結果は同じです。間違った構文を使用していますか?

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

sql - SQLite `ifnull()` と `coalesce()` のパフォーマンス

SQLiteサイトから、

ifnull() 関数は、2 つの引数を指定した coalesce() と同等です。

では、引数が 2 つある場合、どちらが速いでしょうか?

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

mysql - mysql select all - ifnull を使用してすべての列の null をチェックする

すべての列を返したいのですが、代わりに 'ちょっと' と言う NULL がある場所ならどこでも。

しかし、これは機能しません

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

mysql - null の場合の GROUP 結果値

このクエリを実行できません:

テーブル:

結果 :

すべての NULL フィールドとグループを「SELL」という名前で合計する必要があります。

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

mysql - 同様の「一致」結果をパーセンテージでフェッチするSQL

このテーブルには、ユーザー マッチ間のユーザー投票が格納されます。勝者は常に 1 人、敗者は 1 人、投票者は 1 人です。

同様のプロファイルを取得するクエリに取り組んでいます。投票率 (勝敗) が指定されたプロファイルの +/- 10% である場合、プロファイルは類似しています。

これは現在の結果です:

mysqlの結果

現在 NULL 行を返していますが、そこにあるはずはありません。まだ最適化する必要があるのは(そして、私の指を置くことはできません)は次のとおりです。

  1. ユーザー ABC に類似したユーザーのみを連れてくる
  2. 類似ユーザーを定義する条件を指定します。たとえば、ユーザー ID = 6 (類似ユーザーは、ユーザー ID 6 とのパーセンテージで +/- 10% の差があります)。

どんな助けでも大歓迎です。ありがとう!