query = "SELECT" +
" e.id AS _id," +
" ke.id AS ke_id," +
" ke.fk as ke_fk," +
" ke.value as ke_value," +
" re.id AS ke_id," +
" re.fk as re_fk," +
" re.value as re_value," +
" s.id AS s_id," +
" s.fk as s_fk," +
" g.id AS g_id," +
" g.fk as g_fk," +
" g.lang," +
" g.value as g_value" +
" FROM entry e" +
" INNER JOIN k_ele ke ON e.id = ke.fk" +
" INNER JOIN r_ele re ON e.id = re.fk" +
" INNER JOIN sense s ON e.id = s.fk" +
" INNER JOIN gloss g ON s.id = g.fk" +
" WHERE g.value like '%"+lookingFor+"%' LIMIT 20";
我有桌子'光泽'。我在“价值”中有专栏。在连接表中是'g_value'。例如,当我搜索“女孩”时,它发现了五个重复的结果。
如何获取'g_value'的不同值以避免重复结果?
答案 0 :(得分:0)
我认为您希望使用GROUP BY消除重复项。像这样:
query = "SELECT" +
" e.id AS _id," +
" ke.id AS ke_id," +
" ke.fk as ke_fk," +
" ke.value as ke_value," +
" re.id AS ke_id," +
" re.fk as re_fk," +
" re.value as re_value," +
" s.id AS s_id," +
" s.fk as s_fk," +
" g.id AS g_id," +
" g.fk as g_fk," +
" g.lang," +
" g.value as g_value" +
" FROM entry e" +
" INNER JOIN k_ele ke ON e.id = ke.fk" +
" INNER JOIN r_ele re ON e.id = re.fk" +
" INNER JOIN sense s ON e.id = s.fk" +
" INNER JOIN gloss g ON s.id = g.fk" +
" WHERE g.value like '%"+lookingFor+"%' " +
" GROUP BY " +
" LIMIT 20";