Tôi đã có một bảng 'thư mục'. Tôi muốn trả lại tất cả hồ sơ với userId của 16.Tuyên bố MySQL kết hợp tham gia và đếm?
SELECT * FROM `folders` WHERE userId = 16;
Tôi có một bảng 'tệp'. Đối với mỗi 'thư mục' được trả về ở trên, tôi muốn trả về một số 'tệp' trong 'thư mục' đó.
SELECT COUNT(*) as "Files" FROM files WHERE Folder = n;
Làm cách nào để kết hợp chúng? Tôi bị lạc. Cảm ơn!
Điều này là sai. Các cột được tham chiếu trong các thư mục. * Phải nằm trong mệnh đề GROUP BY. Tất cả các cột trong câu lệnh SELECT có GROUP BY phải nằm trong một GROUP BY hoặc một hàm tổng hợp. – alyssackwan
yeah, đó là lý do tại sao tôi đang groupping bởi folders.ID (một cột là đủ để nhóm trên). – dusoft
Để làm việc này, bạn cần GROUP BY tất cả các cột cần thiết từ "thư mục" được đề cập trong mệnh đề SELECT - Tôi đã thử nghiệm lý thuyết "một cột đủ để nhóm vào" và nó không đúng trong SQL Server 2005 ít nhất. –