我是数据库的学习者,我想我问的是非常基本的问题,请多多包涵。
我想从表中获取值列表。值列表将根据某些标准进行排序。
示例:我在大学表中有一个名为courseOffered的列,我在其中保存了一个字符串,例如:java、c++、android 等。
我在用户表中有另外两列称为primarySubject和secondarySubject 。
我的第一个获取逻辑是,根据primarySubject,大学表的行值必须是列表中的第一优先级,然后根据secondarySubject,大学表的行值必须是列表中的第二优先级,最后将附加其余值,即与primarySubject或secondarySubject无关。
到目前为止我尝试了什么:
SELECT *
FROM test.college
WHERE Courses_Offered LIKE CONCAT('%',RTRIM((SELECT
Primary_Subject
FROM test.user
WHERE Email = 'r.veer7@gmail.com')),'%')
OR Courses_Offered LIKE CONCAT('%',RTRIM((SELECT
Secondary_Subject
FROM test.user
WHERE Email = 'r.veer7@gmail.com')),'%')
OR LOWER(Location)IN(SELECT
LOWER(Location)
FROM test.user
WHERE Email = 'r.veer7@gmail.com')
上面的查询获取所有数据,但不是我想要的,它作为行的获取保存在表中,现在我想要一种围绕上述查询中的每个获取的分组,我应该怎么做?