問題タブ [sql-in]
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.
sql - SQL IN は機能するが、NOT IN は機能しない
句の一部である値を正しく返すこのクエリがありますIN
が、に変更するとNOT IN
、何も返されません。
誰か提案はありますか?
sql - このクエリはサブクエリなしで実行できますか?
これらの3つのテーブルを想像してみてください。
サブクエリ/サブセレクトを実行せずに持っていないすべてのユーザーを選択することは可能ですLoginInfos
(私はこれをDBと照合せずに作成しました):
私はPostgresをデータベースとして使用しています。
c# - リストボックス コントロールから SQL IN ステートメントを作成する
を使用して SQL クエリを作成しようとしていますが、句StringBuilder
の一部を実行しようとして行き詰まりました。WHERE
一連の値を含むリスト ボックスがあり、複数選択が可能です。IN
選択したアイテムを繰り返し処理し、次のようなステートメントに入れる必要があります...
これまで私はこのようなコードを書いてきました...
アイテムがループの最後であるかどうかをテストして、終了の「)」の前に「、」を付けないようにする必要があります。
これどうやってするの?または、クエリのこの部分を構築するためのより良い方法がある場合は、提案してください。私はまだ学んでいます。私たちは皆、どこかから始めなければなりません! :)
最終的には部品検索のクエリになります。
前もって感謝します
sql - レーベンシュタイン距離に応じてカスタム IN 関数 t-sql を作成する
私は実際には SQL の関数が苦手です。私は Java/Android プログラマーです。しかし、学校のプロジェクトでは、文字列が T-SQL の配列に含まれているかどうかを確認する必要があります。しかし、私は 2 つの異なる会社のデータを比較していますが、どちらもデータにいくつかの欠陥があります。ある会社のデータはデータベースにあり、もう 1 つは Excel にあります。
もちろん、これを行う1つの方法は、SQLのLIKE関数を使用することですが、基準が何であるかはよくわかりません。完璧なのはSQL関数INのような関数ですが、それには完全に一致する必要があります...
だから私がしたことは次のとおりです:
レーベンシュタイン距離を与える T-SQL 関数を作成し、2 つの文字列を比較してレーベンシュタイン距離を与えます。
この機能はうまく機能します。
次のステップは、次のパラメーターを使用して関数を作成することです。
- 入力文字列 - チェックする文字列
- levdist int - 一致させるための最小レーベンシュタイン距離
(完全な一致は 0 になります) - arr array/table/llist (カンマで区切られた文字列 (IN 関数に入れるなど) がどのように呼び出されるかを見つけることができません - どこを確認するか
私がこれまでに持っているのはこれです:
これは機能せず、コンパイル エラーが発生します。だから私の2つの質問は(私のコードが間違っていると思うものです)
関数でブール値を返す方法(見つけられない:S)? もちろん、整数を返し、falseの場合は0、trueの場合は1などを使用できますが、可能である必要があります
標準の T-SQL IN 関数のように配列/リスト/テーブルを使用する方法は?
sql - TSQL - 小さなリストには IN (リスト) を使用するか、NOT IN (リスト) を使用する方が高速ですか?
私の列の 1 つは、4 つの可能な値 ( val1
、val2
、val3
)のみを含むことができますval4
。
WHERE
これらの 4 つの値 (つまり ) の 1 つを除外するには、句に追加のフィルターを追加する必要がありますval4
。
使用するのが速くなるでしょうかNOT IN ('val4')
、それともIN ('val1','val2','val3')
?
sql - % の使用は IN 状態です
通常、使用する正確な条件がわからない単一の where 条件を oracle で検索する必要がある場合:
複数の条件のチェックを実行する必要がある場合は、使用しますIN
2 つをどのように組み合わせるか?つまり、正確な値がわからない場合に DB で一連の値を検索します。以下のコードは、全体を文字列と見なすため、目的の結果が得られません。
sql-server-2008 - TSQL 複数の IN クエリのパフォーマンスが悪い
クエリが好きな理由
非常に遅い (F1 と F2 はインデックスが作成され、統計が更新されます)。どのように最適化しますか?
mysql - 「IN」コマンドを使用して、SQL クエリで使用されるパラメーターとして配列を渡す
こんにちは。
SQL クエリについて質問があります。「IN」コマンドを使用して、クエリのパラメータとして配列を使用することは可能ですか?
例えば、
int x = {2,3,4,5}
UPDATE 'table_name' set 'field' = data WHERE field_ID IN (x)
私がこれを尋ねている理由は、データベース内のデータを更新する必要があるときに、反復的な SQL ステートメントを避けるためです。UPDATE クエリに for each ステートメントを使用することも考えましたが、100 件以上のレコードが更新された場合にシステムの速度が低下した場合、クエリのパフォーマンスに影響するかどうかはわかりません。
私はVB.Netを使用しています。私のデータベースは MySQL Workbench です。
sql - SQL IN ステートメント - 値 (database_field)
私が構築している検索クエリの一部では、データベース フィールド内の CSV リストと照合するために、SQL クエリを介してフィルター値を処理する必要があります。(データベースフィールド内のCSVリストの使用/非使用を制御することはできず、私が持っているものを操作しています)、少しテストを行ったところ、次のことができることがわかりました:
database_field
等しい場合は2
、値 2 が CSV リスト内で見つかったため、これが返されます。CSV_list
1,2,3,4
true
ただし、私が抱えている問題は、リストに対するフィールドではなく、フィールドに対する値のリストをチェックする必要があることです。私がこれをどのように行ったかをお見せします。
さて、「なんてことだ、これは非常に非効率的な方法だ。わかっているが、試行錯誤を経てわかったことの 1 つは、メソッドが機能するようになると、常にそれを最適化する方法を見つけることだ」と思う人もいるかもしれません。 . 今までに試したことのないもので初めて完璧を目指す意味はありません. とにかく接線から外れて、ご覧のとおり、filterList
変数をループし、フィールドに対して各値をチェックしてitem_sizes
、値がそのCSVリストにあるかどうかを確認します.
これがキャッチです。item_sizes
equaledの場合、値の 1 つがtrue に一致2
するため、すばらしいことです。2
ただし、item_sizes
equaled2,3,4
の場合、変数の値の 2 つが2
とであっても、 STRINGと4
一致しません(試行錯誤によって見つかったことが起こります)。私の推測では、値を左側に、フィールドを右側に配置しても、行は として実行されます。これが、私が思いつくことができる唯一の論理的な答えです。2,3,4
item_sizes In (#filter_item#)
上記で使用した方法を使用して、この問題を解決する方法を知っている人はいますか (現時点ではデータベースを正規化することはできません)。
解決
コメントで引用されているように、この問題に対するその場しのぎの解決策を見つけました。それは最高ではありませんが、うまくいきます。
次の構文を使用すると、目的の結果を得ることができます。
ご注意ください
の使用は、<cfset URL.filter_sizes = [2,4,7,10]>
(編集後に) 実際の URL 変数がどうなるかをエミュレートすることです。struct
これは、URL 変数内で使用した間違いではありません。