Ho una tabella di "cartelle". Voglio restituire tutti i record con l'ID utente di 16.Dichiarazione MySQL che combina un join e un conteggio?
SELECT * FROM `folders` WHERE userId = 16;
Ho una tabella di "file". Per ogni 'cartella' restituita sopra, voglio restituire un conteggio di 'file' all'interno di quella 'cartella'.
SELECT COUNT(*) as "Files" FROM files WHERE Folder = n;
Come si combinano? Mi sono perso. Grazie!
Questo è sbagliato. Le colonne a cui si fa riferimento nelle cartelle. * Devono essere nella clausola GROUP BY. Tutte le colonne in un'istruzione SELECT con GROUP BY devono essere in GROUP BY o in una funzione di aggregazione. – alyssackwan
sì, ecco perché sto raggruppando per cartelle.ID (una colonna è sufficiente per raggruppare). – dusoft
Per far funzionare tutto questo è necessario GROUP BY tutte le colonne richieste da "cartelle" menzionate nella clausola SELECT - Ho verificato la teoria di "una colonna è sufficiente per raggruppare" e non è vera in SQL Server 2005 almeno. –