問題タブ [many-to-many]

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.

0 投票する
1 に答える
409 参照

oop - dbml の XRef 関係

したがって、次のようなデータベーススキーマがあります。

ユーザー
のユーザー ID

RoleUserXRef
RoleUserId
RoleId
UserId

ロール
RoleId

User & RoleUserXRef と RoleUserXRef & Role の間に定義された外部キーを使用します。基本的に、ユーザーとロールの間には 1 対多の関係があります。

生成された User クラスに、ユーザーが割り当てた Roles のリストがあるように、これを dbml でモデル化するにはどうすればよいでしょうか?

0 投票する
6 に答える
4521 参照

sql - SQL 多対多マッチング

ウェブサイトのタグ付けシステムを実装しています。オブジェクトごとに複数のタグがあり、タグごとに複数のオブジェクトがあります。これは、レコードごとに 2 つの値を持つテーブルを維持することによって実現されます。1 つはオブジェクトの ID とタグです。

特定のタグのセットに一致するオブジェクトを見つけるためのクエリを作成しようとしています。次のデータがあるとします ([オブジェクト] -> [タグ]* 形式)

(赤) を合わせたい場合は、リンゴと消防車を入手する必要があります。(果物、食べ物) を一致させたい場合は、(リンゴ、バナナ) を取得する必要があります。

やりたいことを実行する SQL クエリを作成するにはどうすればよいですか?

@ジェレミー・ルーテン、

ご回答有難うございます。使用された表記は、いくつかのサンプル データを提供するために使用されました。私のデータベースには、レコードごとに 1 つのオブジェクト ID と 1 つのタグを持つテーブルがあります。

第二に、私の問題は、すべてのタグに一致するすべてのオブジェクトを取得する必要があることです。OR を AND に置き換えると、次のようになります。

実行しても結果は得られません。

0 投票する
1 に答える
2383 参照

many-to-many - MS Dynamics CRM 4.0 における多対多の関係 - 方法

大学のプロジェクトで MS CRM サーバーに取り組んでいます。

私がやろうとしているのは、CRM のユーザーがいくつかの連絡先にタグを付けられるようにすることです。タグをアーカイブするエンティティを作成し、タグ エンティティと連絡先の間に N:N の関係を作成することを考えました。新しいエンティティと関係を作成して公開しましたが、ルックアップ フィールドを連絡先フォームに追加して、ユーザーが 1 つの連絡先に関連するタグを表示し、新しい連絡先を追加できるようにする方法がわかりません。

誰でも私を助けることができますか?

私が何をしようとしているのか理解できなかった場合は、教えてください。

ありがとう

0 投票する
6 に答える
20422 参照

c# - エンティティへの LINQ - 多対多の関係内でコレクションをテストする where 句の構築

そのため、Linq エンティティ フレームワークを使用しています。と の 2 つのエンティティがContentありTagます。それらは互いに多対多の関係にあります。Content多くを持つことができ、多くTagsTag持つことができますContents。そのため、タグ名が等しいすべてのコンテンツを選択するクエリを作成しようとしていますblah

エンティティは両方とも、他のエンティティのコレクションをプロパティとして持っています (ただし、ID はありません)。これは私が苦労しているところです。のカスタム式がありますContains(したがって、誰でも私を助けてくれる人は誰でも、コレクションの「含む」を実行できると想定できます)。この式は次の場所から取得しました: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2670710&SiteID=1

編集 1

私は最終的に自分自身の答えを見つけました。

0 投票する
1 に答える
6336 参照

jpa - JPA - それ自体との複合キーを持つテーブルの多対多の関係

JPA アノテーションを使用して、テーブル (RoutePlace) とそれ自体との多対多の関係を作成したいと考えています。結合したいテーブルの特異点は、複合キーがあることです。

例: https://h4losw2.files.wordpress.com/2008/10/tables.png

代替テキスト

助言がありますか?

前もって感謝します

0 投票する
2 に答える
2510 参照

sql - リレーションシップテーブルを介して結果を取得するSQLステートメントを作成するにはどうすればよいですか?(多対多)

私は3つのテーブルを持っています(アーカイブには多くのセクションがあり、セクションは多くのアーカイブに属している可能性があります):

  • archive

    • id PK
    • description
  • archive_to_section

    • archive_id PK FK
    • section_id PK FK
  • section

    • id PK
    • description

特定のアーカイブIDに属するすべてのセクションを一覧表示するSQLはどのようになりますか?

私はSQLを学んでいます。私が読んだことから、私は参加、または組合が必要だと思いますか?参考までに、私はpostgresを使用しています。


[編集]これはエイリアスなしで書かれたgdean2323からの答えです:

0 投票する
5 に答える
12443 参照

c# - NHibernate での多対多の削除カスケード

できる限り単純化しようとしたシステムのシナリオがあります。アーティファクト (と呼びましょう) のテーブルがあり、アーティファクトには任意の数のセキュリティ ロールがアクセスでき、セキュリティ ロールは任意の数のアーティファクトにアクセスできます。そのため、データベースには 3 つのテーブルがあります。1 つはアーティファクトを記述し、もう 1 つはロールを記述し、アーティファクト ID をロール ID にリンクする多対多の関連付けテーブルです。

ドメインに関しては、ロール用とアーティファクト用の 2 つのクラスがあります。アーティファクト クラスには、それにアクセスできるロールのリストを返す IList プロパティがあります。(ただし、ロールは、アクセス可能なアーティファクトを取得するためのプロパティを提供しません)。

そのため、artefact の nhibernate マッピングには以下が含まれます。

これはすべて正常に機能し、アーティファクトを削除すると、関連付けテーブルが適切にクリーンアップされ、削除されたアーティファクトとロールの間のすべての参照が削除されます (ロールは正しく削除されませんが、孤児を削除したくないため)。

問題は、ロールを削除して関連付けテーブルを自動的にクリアする方法です。現在ロールを削除しようとすると、ロールの関連付けテーブルにまだエントリがあるため、参照制約が発生します。ロールを正常に削除する唯一の方法は、そのロールにリンクしているすべてのアーティファクトを照会し、アーティファクトのロール コレクションからロールを削除し、アーティファクトを更新してからロールを削除することです。簡素化されたシステムで、ロールは他のテーブル/オブジェクトにいくつでも関連付けることができます。

ロールを削除するたびに、この関連付けテーブルをクリアしたいことを NHibernate に示唆できるようにする必要があります。これは可能ですか。

助けてくれてありがとう。

0 投票する
5 に答える
4355 参照

sql - 興味深い多対多のSQL結合

関連する 3 つのテーブル "A(id, val)"、"B(id, val)"、および値が "AB(aid, bid, val)" のリンク テーブルがあります。

B に対してクエリを実行して A の値を取得しています。たとえば、次のようになります。

すべての A には多くの B があり、すべての B には多くの A があります。

そして、私がバラバラになっているキャッチは、AB.valが特定のA/Bペアの最大値である場合にのみクエリが行を返すように、セットをフィルタリングする必要があることです

たとえば、データがある場合:

B

AB

AB の最初と最後の行のみを選択したいと思います。これらはそれぞれの A の最大値であり、B.val = 'foo' に対してクエリを実行して最初の行のみを返すことができるためです。AB テーブルの max val 行のみを制約する方法についての手がかりがありません。

私が得ることができた最高のものは

しかし、これはうまくいきません。まず、アプローチが間違っているように感じます。次に、悪い入札値を返します。つまり、サブクエリから返される入札は、必ずしも max(val) と同じ行からのものであるとは限りません。これは、列が照合またはグループ化に指定されていない場合に返される値の選択が定義されていないという既知のグループの問題であると思います。

上記のいくつかが理にかなっていることを願っています。私はこれについて過去数時間壁に頭をぶつけていました。どんな助けでも大歓迎です。ありがとう。

(疑問に思われている方のために説明すると、これの実際の使用は Dictionary バックエンドであり、A は単語テーブル、B は音素テーブルです。AB は「位置」列を持つ WordPhoneme テーブルです。クエリは、で終わるすべての単語を検索することです。指定された音素 (音素とは単語の音であり、使用法は国際音声アルファベット に似ています)

0 投票する
1 に答える
1487 参照

asp.net - ASP.NET 動的データの多対多のリレーションシップ

プロジェクトで多対多の関係を使用する必要がありますが、動的データはそれをネイティブでサポートしていないため、そのようなものの実装のサンプルを求めたいと思います。

特に、ターゲット エンティティの新しいインスタンスを作成し、新しい m2m 関係をレコードに追加する方法と、既存のインスタンスを使用して関係を作成する方法を探しています。

タイトなスケジュールなので、どんな助けも本当に感謝しています。

0 投票する
2 に答える
2662 参照

linq-to-sql - 多対多のいずれかの側のCOUNT(*)を取るための最も簡潔なLINQ To SQL?

健全性チェックを手伝ってください。多対多の関係を想定すると:

投稿、PostTagAssoc、タグhttp://www.codingthewheel.com/pics/many_to_many.gif

タグ(または投稿)ごとに、割り当てられた投稿(またはタグ)の総数を示す結果セットを取得するための最も簡潔な方法(LINQ to SQLを使用)は何ですか?

ありがとう!