私は3つのテーブルを持っています:KeyWords、GrantsKeyConn、Grants。特定の「許可」に接続C#でこのMySQLクエリをどのように行うのですか?
それぞれ「キーワード」が関連付けられている/:それが設定されている方法は、各「許可」とのようなキーワードテーブルに格納されている「キーワード」を、関連付けられていなどGrnatsKeyConnテーブル内:
...複数の「キーワードは」1「助成金」に接続/関連付けることができるように。最後に、それぞれの「助成金は」などの助成テーブルに格納されている:私はテキストボックスにキーワードを指定することで助成金をフィルタリングしようとしている
。ですから、 "test、new、final"というキーワードを指定すると...その結果、関連するキーワードを持つ助成金のみが除外されます。 3つのキーワードしか関連付けられていない助成金をもたらす必要はありません。 1、2、3、...、すべてのキーワードが指定された権限が与えられます。 さらに、グラントに複数のキーワードが関連付けられている場合、結果に複数のキーワードが表示されることはありません。
このクエリはどのようにして作成しますか? KeywordテーブルからSelectを実行してキーワードのIDを取得し、そのIDを使用してGrantsKeyConnテーブルにアクセスして関連する権限を取得し、次にGrantsテーブルにアクセスして権限を取得します。もしそうなら、どうすればいい?
私の質問をさらに明確にする必要があるかどうかを教えてください。
私の答えは非常に遅いので、あなたが選んだ答えを見直してください。そして、私は正直なところ、これを達成することは決して目的ではない方法を人々に勧めると考えています。 – Aidiakapi
@Aidiakapi ...あなたのソリューションは別の結果を返すことができますか?たとえば、付与に1つ以上のキーワードが関連付けられている場合、その付与に関連するキーワードごとに1回ではなく1回表示することができます。 DISTINCTのアイデアはどこに出てくるのですか? – Hristo
'DISTINCT'はいつも' SELECT'の後に来ます。他の例と同様です。 – Aidiakapi