我试图为我的问题找到答案,但找不到适合我的答案。例如,我有两个表,分别是学生表和测试表。students有两个字段student\u id,name和for tests,test\u id和student\u id。我要做的是查询打印student\u id,name和学生完成的总测试。我失败的查询是
SELECT S.student_id, T.TOTAL
FROM students as S , ((SELECT student_id, COUNT(test_id) AS TOTAL
FROM tests
GROUP BY student_id) AS T)
WHERE S.student_id = T.student_id;
它回来了
第1行出现错误1064(42000):您的sql语法有错误;检查与mysql服务器版本相对应的手册,了解第2行中使用“as t”附近的正确语法
如何将alias selected查询设置为“临时表”,以便在另一个子查询中使用?请给我最简单的答案,也在mysql高级答案,这样我可以比较这两个答案,以供以后研究。谢谢您
1条答案
按热度按时间6ss1mwsb1#
没有真正不同的逗号分隔和写连接显式。我更喜欢显式地编写连接,因为有不同的连接类型。
带显式连接
在选择
顺其自然(从子查询中删除多余的大括号)
示例