我有3个表格:关键词,授权KeyConn,授权。它被设置的方式,每个“授予”具有相关联的“关键词”,其被存储在关键字表作为这样:如何在C#中执行此MySQL查询?
每个“关键字”关联/连接到一个特定的“许可”在GrnatsKeyConn表作为这样:
...,使得多个“关键字”可以被关联/连接到一个“许可”。最后,每个“授予”存储在资助表这样:
我想通过在文本框中指定的关键字来过滤掉补助。因此,假设我指定了关键字“test,new,final”......那么结果将只筛选出与这些关键字相关联的授权;它不必产生只有3个与它们相关的关键字的赠款;它可以导致具有1,2,3,...,所有指定关键字的赠款。 另外,如果一个资助有超过1个与其关联的关键字,我不希望它在结果中显示多次。
那么我该如何做这个查询?我不想从KeyWords表中选择一个关键字的ID,然后使用该ID进入GrantsKeyConn表以获取关联的授权,然后转到Grants表以提取正确的授权。如果是这样,我将如何做到这一点?
让我知道是否需要进一步澄清我的问题。
请检查您选择的答案,因为这是一个比我的回答慢得多的交易。我真的认为这是建议人们使用一种目的永远不会实现的方法。 – Aidiakapi 2011-03-16 15:51:45
@Aidiakapi ...您的解决方案能够返回不同的结果吗?例如,如果某个授权与其关联的关键字超过1个,我只希望该授权仅显示一次,而不是一次显示与其关联的每个关键字。 “DISTINCT”主意在哪里起作用? – Hristo 2011-03-16 16:09:41
'DISTINCT'总是出现在'SELECT'之后,就像另一个例子。 – Aidiakapi 2011-03-17 10:59:53