問題タブ [relational-division]
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 - AND条件は多対多の関係にあります
3つのテーブル、ユーザーのテーブル、約500の異なるアイテムのテーブル、および対応する結合テーブルがあるとします。私がしたいのは:
ただし、条件の代わりに、対応するすべてIN
のアイテムを持っているユーザーを検索したいと思います。それが役立つ場合は、一度に検索されるアイテムの最大数が5になると想定します。また、私はPostgresを使用していますが、読み取り専用システムであり、速度が最も高いため、役立つ場合は非正規化してもかまいません。優先度。
sql - すべてが配列されているPostgreSQL
配列内のすべての要素を一致させる必要がある句を実現するための最も簡単で最速の方法は何ですか?使用する場合は1つだけではありませんIN
か?結局のところ、 mongodbの$allのように動作するはずです。
conversation_usersがconversation_idとuser_idの間の結合テーブルであるグループ会話について考えると、次のようなことを念頭に置いています。
更新16.07.12
スキーマとケースに関する詳細情報の追加:
結合テーブルはかなり単純です。
/li>会話には多くのユーザーがいて、ユーザーは多くの会話に属しています。会話内のすべてのユーザーを見つけるために、私はこの結合テーブルを使用しています。
/li>scope
結局、私は参加者に応じて会話を見つけてくれるレール上のルビーを見つけようとしています-例:
更新23.07.12
私の質問は、人々の完全な一致を見つけることについてです。したがって:
クエリを実行すると、間の会話(1,2,3)
は一致しません(1,2)
sql - ANDを使用したSQL結合INクエリ?
私は次のテーブルを持っています:
オプションIDのリストがある場合、自分が持っているIDのリストを使用して、すべてのオプションを持つすべての製品を取得するにはどうすればよいですか?SQL「IN」は「OR」を使用することを知っています。「AND」が必要です。ありがとうございました!
sql - IN条件とNOTIN条件を持つ単一のテーブルに対する内部クエリ
これは私の以前に答えた質問への修正です
以下のようなデータがテーブルにあります。
13と15しかないユーザーIDを取得したいので、上記の例に基づいて、取得する必要があるのはUSER D
以下のクエリは私の以前の回答で提供され、そのNOT IN
部分は私によって追加されましたが、それは目標を達成していません。
tsql - t - SQL で 2 つの列を持つレコードを交差させる方法
私は2つの列を持っています
config
すべての s で同じレコードを取得する方法plant
。
この例では、結果は次のようになります。
mysql - リスト/セットが別のリストに含まれているかどうかを確認する方法
製品IDのリストがあり、それらすべての製品が含まれている注文を確認したいと思います。Ordersテーブルは次のように構成されています。
明らかに、PHPでいくつかのループを使用してそれを行うことができますが、純粋にmysqlでそれを行うためのエレガントな方法があるかどうか疑問に思いました。私の理想的なファンタジークエリは次のようになります。
何か希望はありますか、それともトールキンを読みに行くべきですか?:)また、好奇心から、mysqlで不可能な場合、この機能を備えた他のデータベースはありますか?
mysql - すべての A が B からの次の等しい数を持つ必要がある SQL クエリは?
これが私の言いたいことの具体的な例です。次のテーブルを定義しています。
コッカースパニエルの色とすべて同じ色のペットを含む品種を見つける SQL クエリを作成するにはどうすればよいでしょうか? したがって、データベース内のすべてのコッカー スパニエルが黒または白の場合、少なくとも 1 頭の黒のペットと 1 頭の黄色のペットを持つすべての異なる品種を見つける必要があります。私はしばらくこれに困惑しており、オンラインで同等の回答を見つけることができなかったので、ここで助けていただければ幸いです.
sql - PostgreSQLの論理条件
20本以上の映画を監督し、彼が監督したすべての映画に出演したすべての男性監督の名前が欲しいです。彼が映画をキャストしたが、それを監督していない場合、それは大丈夫です、そして私はまだ彼の名前が欲しいです。彼が映画を監督したが、それをキャストしていない場合、私は彼をもう望んでいません。
これは私の複数の試みの1つにすぎません。副次的な質問として、なぜそれが機能しないのですか?キャストされたmovie-idなどに正しい指示されたmovie-idをチェックしていることを確認します。
sql - 多対多の関係フィルター
別のテーブルとmany2manyの関係があるcategoriesテーブルでクエリをフィルタリングする必要があります。many2manyリレーションを持つクエリをフィルタリングすることは可能ですか?
テーブルには、テーブルに関連するres_partner
many2manyフィールドがあります。または、パートナーが多くのカテゴリを持つことができるとしましょう。必要なのは、 「business」または「retail」という名前のカテゴリを持つテーブルをフィルタリングすることです。これらのカテゴリのいずれも含まれていない場合は、表示されません。category_id
res_partner_category.res_partner
res_partners
また、 :と関係がある別のフィールドがres_partner
あります。category_value_ids
one2many
res_partners_category_value
res_partner
関係のある次のフィールドがあります。
category_id
tores_partner_category
(many2many)category_value_ids
tores_partner_category_value
(one2many)name
(char)
res_partner_category
関係のある次のフィールドがあります。
partner_ids
tores_partner
(many2many)name
(char)
res_partner_category_value
関係のある次のフィールドがあります。
category_group_id
tores_partner_category
(many2one)category_id
tores_partner_category
(many2one)object_id
tores_partner
(many2one)
しかしres_partner_category_value
、SQLクエリでテーブルを使用しようとすると、クエリで使用できないというエラーが発生します。
したがって、たとえば、これらのカテゴリのパートナーが4つある場合:
- 最初:categ1、categ2、business
- 2番目:小売
- 3番目:小売、ビジネス
- 4番目:categ1、categ2
クエリは、第1、第2、および第3のパートナーを返す必要があります。
ある人は、many2manyの関係でこのようにフィルタリングすることは不可能だと私に言いました。それで、それは本当に不可能なのか、それとも単に複雑なのかしら。
編集:
私はと呼ばれるもう1つのテーブルを見つけましres_partner_category_rel
た。データベースのすべてのオブジェクトを表示できるOpenerp管理インターフェイスでは、そのテーブルが表示されないため、表示されませんでした。あなたはそれをデータベースを通して直接見ることができるだけです。だから私はこの「欠けている」テーブルに混乱しました:
res_partner_category_rel:
partner_id
(many2one)category_id
(many2one)