我试图显示表分析中符合其他表中条件的所有条目的所有字段,而不显示分析中的任何重复行。
因为我想在分析中显示所有字段,所以我不能使用DISTINCT。所以我在GROUP BY中使用通配符,但查询不仅在分析中返回字段。它也从个人和考试中引入了领域。
SELECT *
FROM analysis
JOIN personal
ON analysis.FirstName=personal.FirstName
AND analysis.LastName=personal.LastName
JOIN exam
ON personal.P_ID=exam.P_ID
WHERE exam.Level='B1'
AND exam.Certification='Full'
GROUP BY analysis.LastName
我可以使用DISTINCT获得我想要的并在分析中指定每个字段,但目前有13个字段,所以我更喜欢一些更整洁的语法:
SELECT DISTINCT analysis.LastName, analysis.FirstName, analysis.X, analysis.y, ETC ETC
FROM analysis
JOIN personal
ON analysis.FirstName=personal.FirstName
AND analysis.LastName=personal.LastName
JOIN exam
ON personal.P_ID=exam.P_ID
WHERE exam.Level='B1'
AND exam.Certification='Full'
答案 0 :(得分:1)
SELECT analysis.*
FROM analysis
JOIN personal
ON analysis.FirstName=personal.FirstName
AND analysis.LastName=personal.LastName
JOIN exam
ON personal.P_ID=exam.P_ID
WHERE exam.Level='B1'
AND exam.Certification='Full'
尝试以上代码。 希望这会有所帮助。