2016-04-12 14 views
0

私はMySQLを使用しています。ユーザの組み合わせごとに固有のグループラベルを作成する必要があります。グループには少なくとも1人のユーザーが必要ですが、ユーザーの組み合わせとグループラベルは一意でなければなりません。MySQLの構造 - ユニークなユーザグループ

したがって、たとえば、私は3人のユーザーとそのIDがあります。

  • ラリー(1)
  • カーリー(2)
  • 萌(3)

を我々はオフに開始することができますそれぞれ1人のユーザーを含む3つのグループがあります。これらの名前は、システムユーザが設定したものでもかまいません。最初のイニシャルを使用しましょう。グループLCMがあります。しかし、今私はラリーとカーリーのグループを持っているので、別のグループLCが欲しいです。ラリーとカーリーは違う名前の別のグループを作ることはできませんが、萌えに別のグループを作ることができますLCM

これでIDが12の場合、グループLCを取得するクエリを作成できます。

私は現在、これを行う方法を失っています。どんな提案も素晴らしいだろう。

ありがとうございます!

答えて

0

LCはLCと共存できますか?

「ユーザー」は64人までですか?その場合は、SETデータ型またはBIGINT UNSIGNEDのような "グループ"を実装できます。カバーの下

the_group SET ('Larry', 'Curly', 'Moe') 

、すなわち

UNIQUE(the_group) 

のみと言うであろう等、Larryを参照底ビットは、次のビットは、Curlyであると

the_group TINYINT UNSIGNED 

と同じです現在のテーブルの1つの行は、指定されたグループを参照できます。

あなたはグループで何を実行したいかは言わなかったので、SETsまたはintsを操作するさまざまな方法については説明しません。これらのセマンティクスで。

もっと

それともあなたは、これらのテーブルが必要です。

  • グループ:GROUP_ID、USER_ID(多対多マッピングテーブル)
  • 注文:オーダー情報を...、GROUP_ID
  • ユーザー:user_idは、ユーザ名、... SUITABで

le 3-table JOINの場合、1つの「注文」を担当するすべての「ユーザー」をリストすることができます。Recommendation on many-to-many

+0

これはかなり面白いです。基本的に、注文は私たちのシステムに入れられます。そして、どのグループが注文を担当しているかに基づいて、私はグループ名を問い合わせることができます。 LMグループとLCグループがあります。しかし、それは単に注文ごとに1つのグループになるだろう。 LarryとMoeが責任を負うところに注文がある場合、彼らは集合的にLMを形成していることがわかりたいと思います。 – kenshin9

関連する問題