Yura_Mart, если вы не понимаете как написать простейший цикл, то вам надо сначала учить основы программирования, а не "учить" SQL в значении "записать в блокнотике крутой запрос не имея ни малейшего представления, как он работает"
и я рекомендую все-таки посмотреть на решение по ссылке.
там хотя бы решена проблема безопасности. С джойнами там не заморочишься, но это как раз и не надо. Не надо лезть в эту кроличью нору.
Это потому что вы не понимаете код, который пишете.
Постарайтесь разобраться, что делает каждая команда, и тогда сразу станет понятно, почему выводится только одна, и как узнать сколько на самом деле.