我有2张桌子:腰部和面板。我目前有一个成功的GROUP_CONCAT和MATCH AGAINST查询工作。缩短了一点:

SELECT LOINC_NUM as ln,LONG_COMMON_NAME,SYSTEM,
(SELECT GROUP_CONCAT(PARENT_NAME) from panels WHERE LOINC_NUM = ln) as PANEL_STRING,
(SELECT GROUP_CONCAT(PARENT_LOINC) from panels WHERE LOINC_NUM = ln) as PANEL_LOINC_STRING,
MATCH (SYSTEM,LONG_COMMON_NAME)
AGAINST ('string' IN BOOLEAN MODE) AS score FROM loinc
WHERE MATCH(SYSTEM,LONG_COMMON_NAME)
AGAINST ('string' IN BOOLEAN MODE)
ORDER BY score DESC LIMIT 100


但是,如果我也想对PANEL_STRING'field'(这是GROUP_CONCAT)进行匹配。我在其他地方发现可以将子查询更改为联接,但是这似乎只返回单行,因为并非腰部的每一行都联接到面板。

有人愿意帮助我并向我展示如何使GROUP_CONCAT字段成为我可以用于再次匹配搜索的字段吗?谢谢

最佳答案

如果面板名称是层次结构ID(如001.007.0014),则可以创建以层次结构ID开头的GROUP_CONCAT,然后在末尾添加LOINC编号或LOINC零件编号(如001.007.014:LP7407-7和001.007) .014:9987-6)。使用该GROUP_CONCAT,您可以搜索面板的整个部分,也可以搜索单个的LOINC或LOINC零件。

关于mysql - MySQL在MATCH AGAINST中使用GROUP_CONCAT字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7884678/

10-15 18:20