我有一张“文件夹”表。我想返回 userId 为 16 的所有记录。
SELECT * FROM `folders` WHERE userId = 16;
我有一张"file"表。对于上面返回的每个“文件夹”,我想返回该“文件夹”中的"file"计数。
SELECT COUNT(*) as "Files" FROM files WHERE Folder = n;
我如何结合这些?我迷路了。谢谢!
请您参考如下方法:
SELECT fol.*
, ( SELECT COUNT(*)
FROM files fil
WHERE fil.Folder = fol.Folder
) AS "Files"
FROM folders fol
WHERE fol.userId = 16
它被称为相关子查询。
http://dev.mysql.com/doc/refman/5.1/en/correlated-subqueries.html