Тут масса вариантов:
Можно тянуть одним запросом с JOIN.
Можете сделать 2 запроса: 1ая выборка постов, потом собираем id постов и по ним вторым запросом выбираем теги. В принципе, релейшены в yii по умолчанию так и работают (кстати, может воспользоваться ими?)
В варианте с group_concat учтите что он по умолчанию ограничен в длине результирующей строки. Ошибки запроса не будет, он просто обрежет строку тегов.
Если нет какой-то сложной работы с тегами (например, сбор статистики) то можно вообще их сохранять в таблице постов в каком-либо виде (например, разделенных пробелом или в json массиве)
В цикле - совсем плохая идея, но... В принципе абсолютно не важно как вы сделаете - главное чтоб производительности хватало. Если будете делать заведомо долгий вариант (как запрос в цикле). то есть, скорее всего, рано или поздно придется переделывать, то важно сделать в коде какой-либо абстрактный способ получения тегов у поста , например, $post->getTags() и использовать его, что бы при переделке способа получения тегов не пришлось переписывать код где они используются.
Лично я бы сохранял в таблице поста, или юзал релейшены...