問題タブ [vistadb]
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 で like およびワイルドカードを使用した大なり小なりの使用
私は現在、特定のものを実装する方法に少し困惑しています。基本的に、組み込みデータベース (パフォーマンスの観点から JOIN を本当に嫌う) と、検索フィールドにワイルドカード メカニズムを追加する必要があります。現在、検索フィールドでは、ユーザーは日付と、次のようなものを使用して一致するいくつかの金額/収益を入力できます。
SELECT * FROM table where date >= '{0}' AND date <= '{1}'
編集:これは、.NET アダプターが実行時に SQL を生成し、AND 句のさまざまな組み合わせが可能であるためです。ユーザーは {0} の値のみを入力するか、{1} の値を 1 つだけ入力するか、両方を入力するか、何も入力しない可能性があります。したがって、深刻な正規表現を開始しない限り、残念ながら BETWEEN は横ばいになります。
キーワード LIKE を使用して、次のようなものを実装したいと思います。
SELECT * FROM table where date >= LIKE '{0}' AND date <= LIKE '{1}'
の{0}
ようなもので"2015.01*"
日付は少し多いかもしれませんが、金額や収益などを使用することは可能ですか? もしそうなら、正しい構文は何ですか? Google は私の友人ではありません...
事前にご協力いただきありがとうございます。
sql - 子で始まる再帰クエリの場合、兄弟と親の行を削除するにはどうすればよいですか?
選択した Id とそのすべての子の行を返す再帰クエリを作成できました。これは最終的な親にとってはまったく問題なく機能しますが、渡された Id が子の 1 つである場合にも正しく機能する必要があり、子とその子 (存在する場合) のみを表示します。現在、最終的な親の他の子行と、渡された子行が2回表示されます...
前の問題と同様に、CTE または WITH 句をサポートしない SQL Server 以外の TSQL ベースのデータベース エンジンが使用される可能性があるため、サブクエリ形式を使用してこれを行う必要があります。
望ましい結果:
ID 2 を使用すると、2、3、4、6、7 という正しいデータが返されます。ID 6 を使用すると、6、7 のみが返されます。現在、クエリは 6,3,4, 6,7 を返します。
データ:
クエリ:
どんなアドバイスや提案もありがたく受け取った。