問題タブ [where-clause]
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.
mysql - Count() Where 句と Left Join を使用
次のようなクエリがあります。
SELECT users.id FROM users LEFT JOIN sales ON installations.customer = users.id
私が言いたいのは、「WHERE count(sales.id) > 4」のようなものです。これは、ユーザーが 4 つ以上の販売関連を持っている場合を意味します。私がこれを間違った方法で行っているかどうかはわかりませんが
sql - 結合基準またはより効率的なwhere句のSQLフィルター基準
2つのテーブルを結合する比較的単純なクエリがあります。「Where」基準は、結合基準またはwhere句として表すことができます。どちらが効率的か疑問に思います。
クエリは、セールスマンが最初から昇進するまでの最大売上を見つけることです。
ケース1
ケース2
注ケース1には、where句がまったくありません。
RDBMSはSQLServer2005です
編集 結合基準の2番目の部分またはwhere句がsales.salesdate<ある固定日であった場合、2つのテーブルを結合する基準が実際にはないため、答えが変わります。
sql - SQL Server 2008 - ブール変数変更クエリ
次のクエリがあります。
これにより、過去 30 日間に表示されたすべての製品が返されます。
私の質問は、p.LastSeen > GETDATE() - 30
条項が@IsStocked = true
.
これはより大きなクエリの一部であり、IF/ELSE ステートメントを使用せずにこれを実現したいと考えています (つまり、WHERE 句@IsStocked = false
のセクションが完全に無視される場合)。p.LastSeen > GETDATE() - 30
ありがとう!
sql - 「select ステートメントの where 句は、1 つの列に対してのみ >、>=、<、<= 操作を実行できる」とはどういう意味ですか?
Google App Engine に関するウィキペディアの記事によると:
select ステートメントの where 句は、1 つの列に対してのみ >、>=、<、<= 操作を実行できます。したがって、単純な where 句のみを作成できます。
これは何を意味するのでしょうか?
sql - 私の単純なSQL更新クエリが正しく機能していません:(
単一の行を更新しようとしている単純な SQL クエリがあります。コードはLinq-to-sqlコードからのものです(Profilerを使用して取得しました)が、ソース(L2S)について心配しないでください...それは質問とは無関係です。
ここで、where 句を使用して更新しようとすると、0 行が更新されます。
次にselect
、同じwhere clause
. 私は単一の結果を返します。よし、データはある。
where clause statements
クエリが最終的に機能するのは、一部をオフにしたときだけです。私はそれを取得しません:(
私は本当にそれを説明することはできません。だから私はこれを示すビデオを作りました。
こちらの YouTube でビデオをご覧ください。
誰でも助けることができますか?それは本当に奇妙です:(
データベースは MS-SQL 2008 です。
- アップデート
実行しようとしているSQL(L2Sからクリーンアップした後)..
(注:はい、NOT(blah = 1))は奇妙ですが、それを作ったのはL2Sです。
更新 2:
ビデオのコードは、トランザクション/ロールバック トランスで実行されています。これは、機能する奇妙なシナリオの1つを実行すると、変更が機能することを意味します..しかし、ロールバックはそれを元に戻します..そのため、2回目に実行すると..元の値がdb行に返されます.
また、ビデオでは、選択クエリは更新クエリとまったく同じではありません..私は非常に多くの順列を(運がなくても)試してきたため..ビデオを作成するまでに..表示するのを忘れていました元のコード。そうは言っても、selectステートメントとupdate / whereステートメントの両方の同じコード(マシンにコピー/貼り付けたとき)は、まったく同じ問題を再現します:(
更新 2 :)
Lieven の要求に従って、コードと結果を示すスクリーンショットを次に示します。
c# - C#, Linq to Sql: Why can I not use an expression to filter SubEntities?
I have made myself an ExpressionBuilder class that helps me put together expressions that can be used as a predicate when doing Linq to Sql queries. It has worked great. However, I just discovered Expressions can only be used to filter on Tables, and not on EntitySets??Why on earth is this the case?
For example if I have Company and an Employee with a Salary. I could create these two expressions:
I would then expect to be able to do the following, however it only partially works:
Also, if I do a ep.Compile()
it compiles, but then I get an error when running the query.
Why is this the case? Am I missing something? I don't find this logical. Can I fix this somehow? Or do you have a good workaround?
I know that I in this case could just use Where(x => x.Name.StartsWith("John"))
instead, but the problem is that the expressions I need are not that trivial. They are longer strings of AndAlso
s and OrElse
s.
c# - 一致がない場合のLINQの結果は?
一致するものがない場合、LINQ 関数は正確に何を返しますか? たとえば、Where メソッドを使用します。
この時点での結果はどうなるでしょうか。
sql-server - T-SQL Where句のCaseステートメントの最適化(StoredProcのオプションのパラメーター)
私はこれとしばらく戦っています。フィルタリングに使用される3つのパラメーターを受け取るストアドプロシージャがあります。特定の値が渡された場合、それをフィルタリングしたいと思います。-1が渡されたら、全部ください。
私はそれを次の2つの方法で試しました:
最初の方法:
2番目の方法:
私はどこかで、2番目の方法が短絡し、trueの場合は2番目の部分を評価しないことを読みました。私のDBAは、テーブルスキャンを強制すると言いました。私はこれを確認していませんが、場合によっては実行が遅くなるようです。
このビューが選択するメインテーブルには約150万のレコードがあり、ビューは他の約15のテーブルに結合して、他の多くの情報を収集します。
これらの方法はどちらも遅いです...私を瞬時から2〜40秒のどこかに連れて行ってくれますが、これは私の状況ではまったく受け入れられません。
それを特定の対-1のそれぞれの別々のケースに分解することを含まないより良い方法はありますか?
どんな助けでも大歓迎です。ありがとう。
mysql - MYSQL IN または複数の条件
status
特定の値を持たないフィールドに基づいてレコードを返す単純なクエリがあります。引数として、フィールドが値 1、2、3...10 を持つことができ、値 3、7、9 を持たないすべてのレコードを返したいとしましょう。次のうちどれを使用するのが最適でしょうか?
オプション1。
オプション 2。
助けてくれてありがとう。