0
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」です。たとえば、「女の子」で検索すると、重複する結果が 5 件見つかりました。

ここに画像の説明を入力

結果の重複を避けるために「g_value」の異なる値を取る方法は?

4

1 に答える 1

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";
于 2013-08-12T06:25:46.220 に答える