我在人和一些电子代码之间有多对多的关系。带有代码的表格有代码本身,以及代码的文本描述。查询的典型结果集可能是(有许多包含“损坏”的代码,所以我觉得最好搜索文本描述而不是为每个代码添加一堆 OR。)
id# text of code
1234 broken laptop
1234 broken mouse
目前,我获得这样的结果集的最佳方法是使用LIKE%broken%
过滤器。在不更改文本描述的情况下,有什么方法可以只返回一个代码实例broken
?因此,在上面的示例中,查询只会返回 1234 和损坏的鼠标或损坏的笔记本电脑。在这种情况下,返回哪个并不重要,我要寻找的是该人代码的任何文本描述中是否存在“损坏”。
我目前的解决方案是创建一个可以返回的视图
`id# text of code
1234 broken laptop
1234 broken mouse`
并SELECT DISTINCT ID#
在查询视图时使用以获取每个视图的一个实例。
实际编辑查询
SELECT tblVisits.kha_id, tblICD.descrip, min(tblICD.Descrip) as expr1
FROM tblVisits inner join
icd_jxn on tblVisits.kha_id = icd_jxn.kha)id inner join tblICD.icd_fk=tblICD.ICD_ID
group by tblVisits.kha_id, tblicd.descrip
having (tblICD.descrip like n'%broken%')