問題タブ [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.
sql - EOD SQL を使用して動的クエリを作成する方法は?
これはかなり単純なはずですが、例が 1 つも見つからないようです。次のようなクエリを作成したいと思います。
オプションとして、クエリの最後に OR 句を追加できます。
これまでに書いたコードは、Nullpointer で爆発し続けます。
前もって感謝します。//アビーン
注: 環境に関する情報を追加するのを忘れていました: PostGres 8.3、Java 1.6、および EOD SQL 0.9。
ありがとうジェイソン。知りたい人のために、クエリは次のようになります。
また、TypeMapper クラスを実装して、SQL 配列を Java 配列にマップする必要もありました。
sql - Zend DB テーブルの Where 句
Zend DB テーブルの where パラメータを設定するために配列を使用しようとしています。ドキュメントの例に従おうとしています:
Zend_Db_Table を継承するクラスがあり、例のように選択しようとしています。
しかし、「SQLSTATE[42S22]: 列が見つかりません: 1054 不明な列 '配列' が 'where 句' にあります」というエラーが表示されます。したがって、配列を配列として認識せず、それを列名として使用しようとしています。
ここで何が起こっているのか、またはどのように配列を受け入れることができるのかについてのアイデアはありますか? ありがとう!
sql - SQL Server 2005 で where の前に結合を強制的に実行するにはどうすればよいですか?
価格表をユーザー提供の回答を含む表に結合する SQL クエリがあります。私のクエリは、入力された数量に基づいて価格を取得するために使用されます。以下は私のSQL文です:
問題は、SQL Server が JOIN の前に where 句を実行していて、エラーがスローされていることです。
varchar 値 'TEST' をデータ型 int に変換するときに変換に失敗しました。
結合の前に最小値と最大値の比較を行っているためです ('TEST' は、JobQuestion テーブルにユーザーが入力した有効な値ですが、JobQuestion が Price に結合されている場合は返されません)。SQL Server が WHERE を実行することを選択しているのは、パーサーが何らかの理由でそれがより効率的なクエリであると考えているためだと思います。もし私がただ走るなら
これらの結果が返されます:
したがって、WHERE を追加すると、最後の 2 つのレコードが除外され、最初のレコードだけが返されます。SQL に最初に JOIN を実行させるか、別の手法を使用して必要なレコードだけを除外するにはどうすればよいですか?
c# - AsQueriable() または式。コンパイル()?
Edit2:
最終的に2つを互いにプロファイルできるようになった後、私の状況では.AsQueryable()はExpression.Compile()よりわずかに高速であるように見えます。
元の質問:
いくつかのデータベース テーブル (として) のキャッシュを実装しました。これは、それ自体に対してクエリを実行するときに使用するList<T>
のと同じ方法でクエリを実行する必要があります。Expression<Func<T, bool>>
Table<T>
これらの最速/最良の方法は何ですか:
また
?
編集:私が使用している方法であるため、WhereをFirstOrDefaultに変更しました。質問を書いたとき、私は少し疲れていたと思います。FirstOrDefault は、Where のようにすべてのアイテムを 1 回調べますか、それとも最初のヒット (存在する場合) で実際に停止しますか?
linq - Linq includewithwhere句
ねえ、私はデータベースからクライアントを引き戻し、インクルードによってすべてのケーススタディを含めるという状況になりました
しかし、私が今やりたいのは、含まれているケーススタディのwhere句で、deleted=falseのケーススタディのみを返すようにすることです。
こんな感じ
しかし、これは機能しません:(アイデア
sql - 未使用の WHERE 条件を追加してクエリの実行時間を延長
興味深い問題が発生しました (少なくとも私にとっては興味深いことです)。以下は、私のクエリがどのように見えるかの一般的な考えです。@AuthorType がストアド プロシージャへの入力であり、コメントを入れた場所ごとにさまざまな特殊な条件があるとします。
私にとって興味深いのは、@AuthorType = 0 でこの SP を実行すると、最後の 2 つの条件セット (@AuthorType の特殊な値の条件を追加するもの) を削除した場合よりも実行速度が遅くなることです。
SQL Server は、これらの条件が決して満たされないことを実行時に認識し、それらを完全に無視するべきではありませんか? 私が経験している違いは小さくありません。クエリの長さが約 2 倍になります (1 ~ 2 秒から 3 ~ 5 秒)。
SQL Server がこれを最適化しすぎることを期待していますか? 特別な条件のために、本当に 3 つの個別の SP が必要ですか?
sql - SQLでいくつかのテーブルを検索する
一度に複数のテーブルで検索語を検索しようとしています。私の質問は:
しかし、結果は期待どおりではありません。カテゴリ「Casement」には約50個のアイテムがありますが、term ==「Casement」の場合、アイテムに「Casement」が含まれるアイテムのみが返されます。
私は何か間違ったことをしていますか?私はこれをより良い方法で行うべきですか?
linq - LINQ Where with AND OR 条件
だから私はこのクエリを機能させることができました
ここでは、listStatus と listMerchant が null でないかどうかを確認してから、WHERE 句内に配置します。
お気に入り
listMerchants が null の場合、クエリは次のようになります
switch や If 条件は使いたくない。
ありがとう
activerecord - 「AS」フィールドのCodeigniter WHERE
選択したデータを変更する必要があるクエリがあり、そのデータの結果を制限したいと考えています。例えば:
SELECT table_id, radians( 25 ) AS rad FROM test_table WHERE rad < 5 ORDER BY rad ASC;
codeigniter によると「rad」列がないため、これがハングアップするのは「rad < 5」です。これをカスタム クエリ ($this->db->query(...)) として記述しようとしましたが、それでもできません。このフィールドに基づいて結果を制限する必要があります。ああ、WHERE フィルターを削除すると、ORDER BY は完璧に機能します。結果は、rad フィールドによる順序 ASC です。
ヘルプ!!!
c# - C# 初心者: IList.Where() メソッドはどこに行ったのですか?
私は困惑している別の単純なものを持っています(私は思う)。私は自分のコントロールの 1 つに、ファイル名を指定して CMS 内のファイルの最新バージョンを取得するメソッドを作成しました (つまり、ファイルが存在するフォルダーに関係なく)。CMSToolbox クラスに入れようと思ったほど便利でしたが、これを行うとWhere()
、CMS が提供する (リストを返す) FileManager クラスのメソッドを使用できなくなります。
これが私のクラスの簡単な例です:
Control (実際には を拡張する CMS によって提供されるクラス) のコンテキストでまったく同じことを行うControl
と、メソッドにアクセスできますWhere()
が、ToolBox クラスではアクセスできません。何を与える?IList
を使用すると、どこからでも同じメソッドにアクセスできるようになると考えました。
私はまた間違っています、ハハ:)
編集:拡張Filemanager.GetGroupAll()
するaを返しますCMSList
IList