我有以下表格:
表2和表3列出了关键字和组以及关键字和客户端之间的多对多关系。
我想从关键字表中检索所有记录。但是,我想以这样的方式对关键字进行排序,即首先出现属于特定组的关键字。我如何实现这一目标?
我希望这是有道理的,真诚地感谢任何帮助。
答案 0 :(得分:2)
您需要加入要使用的所有表格,但是您应该将选择列表限制为仅对您来说很重要的列。选择所有表中的所有列并不是必须的,尽管这是SELECT *
给你的。
这样的事情:
SELECT k.*
FROM keywords k
JOIN keyword_groups kg ON k.k_id=kg.k_id
JOIN groups g ON kg.g_id=g.g_id
ORDER BY CASE WHEN g.class='Top' THEN 0 ELSE 1 END, g.name, k.name;
如果您只需要查看特定组,只需为其添加WHERE
子句。