Pomóżcie biednemu programiście :) bo nie mogę sobie poradzić, z takim oto chyba prostym w sumie zadaniem. Mam tabelke powiedzmy z artykułami prasowymi i druga tabela w której jest lista zdj z danego katalogu. Chodzi o to że chciałbym wybrać listę tych artykułów wybrać ile jest zdjęć w danym artykule i jedno najnowsze zdj.
Tabela FOLDERS
ID | name |
---|---|
1 | tytul 1 |
2 | tytul 2 |
3 | tytul 3 |
4 | tytul 4 |
5 | tytul 5 |
Tabela IMAGES
ID | id_art | link |
---|---|---|
1 | 1 | link 1 |
2 | 1 | link 2 |
3 | 1 | link 3 |
4 | 1 | link 4 |
5 | 1 | link 5 |
6 | 2 | link 1 |
7 | 3 | link 1 |
8 | 3 | link 2 |
9 | 4 | link 1 |
Chciałbym by wynik z SQL był taki:
id art | suma zdj | link do ostatnio dodanego zdj |
---|---|---|
1 | 5 | link 5 |
2 | 1 | link 1 |
3 | 2 | link 2 |
4 | 1 | link 1 |
5 | 0 |
SELECT f.id, f.name, count(i.id), img.link FROM folders f JOIN (select max(id) as MX, link, id_folder FROM images GROUP BY link, id_folder) img ON img.id_folder = f.id LEFT JOIN images i ON f.id = i.id_folder GROUP BY f.id, img.link;
Powyzszy kod nie dziala jak chcialem ma ktoś jakąś sugestię ?