我有四张名为college_list,course_list,branch_list,semester_list的表。并在这些表上应用了JOIN。如何在mysql中选择DISTINCT记录uisng在四个表上JOIN
SELECT DISTINCT college_list.clg_name, course_list.crs_name, branch_list.bran_name, semester_list.sem_name FROM college_list
LEFT JOIN course_list ON college_list.clg_code = course_list.crs_clg_code
LEFT JOIN branch_list ON course_list.crs_code = branch_list.bran_crs_code
LEFT JOIN semester_list ON branch_list.bran_crs_code = semester_list.sem_crs_code GROUP BY bran_name
UNION ALL
SELECT DISTINCT college_list.clg_name, course_list.crs_name, branch_list.bran_name, semester_list.sem_name FROM college_list
RIGHT JOIN course_list ON college_list.clg_code = course_list.crs_clg_code
LEFT JOIN branch_list ON course_list.crs_code = branch_list.bran_crs_code
LEFT JOIN semester_list ON branch_list.bran_crs_code = semester_list.sem_crs_code GROUP BY bran_name
UNION ALL
SELECT DISTINCT college_list.clg_name, course_list.crs_name, branch_list.bran_name, semester_list.sem_name FROM college_list
RIGHT JOIN course_list ON college_list.clg_code = course_list.crs_clg_code
RIGHT JOIN branch_list ON course_list.crs_code = branch_list.bran_crs_code
LEFT JOIN semester_list ON branch_list.bran_crs_code = semester_list.sem_crs_code GROUP BY bran_name
UNION ALL
SELECT DISTINCT college_list.clg_name, course_list.crs_name, branch_list.bran_name, semester_list.sem_name FROM college_list
RIGHT JOIN course_list ON college_list.clg_code = course_list.crs_clg_code
RIGHT JOIN branch_list ON course_list.crs_code = branch_list.bran_crs_code
RIGHT JOIN semester_list ON branch_list.bran_crs_code = semester_list.sem_crs_code GROUP BY bran_name
该查询结果如下。
但我想要的大学名称来一次。和其他栏一样。 那么如何使用GROUP BY或DISTINCT命令来获取呢?
分组最好用于这项工作 –
但它不工作 –
你能告诉我如何使用它 –