@ просто кто-нибудь - Ваш запрос выполняет 3 выбора *, которые могут быть интенсивными, лучше ограничить все три, чтобы избежать ненужного количества строк:
SELECT test_id, 'test1' AS tableName FROM test1 WHERE q_id = 2
UNION
SELECT test_id, 'test2' AS tableName FROM test2 WHERE q_id = 2
UNION
SELECT test_id, 'test3' AS tableName FROM test3 WHERE q_id = 2
Приведенный выше запрос был изменен, чтобы отразить, из какой таблицы пришел каждый q_id.