Mamproblem z dośc dużym jak na moje możliwości zapytaniem MySQL, wygląda ono w ten sposób:
SELECT *, ( SELECT COUNT(*) FROM `user_files` WHERE `file_status` = 'aproved' AND `id` IN( SELECT files_id FROM `file_tags` WHERE `file_tag` IN(1,2,3,4,5,6) ) ) AS COUNTED_DATA FROM `user_files` WHERE `file_status` = 'aproved' AND `id` IN( SELECT files_id FROM `file_tags` WHERE `file_tag` IN(1,2,3,4,5,6) ) ORDER BY added DESC LIMIT 0,10
jak widać dwa razy wykonane jest zapytanie:
SELECT files_id FROM `file_tags` WHERE `file_tag` IN(1,2,3,4,5,6)
czy jest możliwość aby przypisać je do parametru i wrzucić do IN()? Tak chciałbym aby towyglądało:
SELECT *, ( SELECT files_id FROM `file_tags` WHERE `file_tag` IN(1,2,3,4,5,6) ) AS raz_wykonane, ( SELECT COUNT(*) FROM `user_files` WHERE `file_status` = 'aproved' AND `id` IN( raz_wykonane ) ) AS COUNTED_DATA FROM `user_files` WHERE `file_status` = 'aproved' AND `id` IN( raz_wykonane ) ORDER BY added DESC LIMIT 0,10
Pozdrawiam i z góry dziękuję za pomoc.