Хорошо, я вижу, вы исправили свой исходный код, поэтому вот мой ответ:
Вы просматриваете список столбцов и пытаетесь оценить каждый столбец, как если бы он был единственным элементом в структуре.
Однако запрос немного отличается: к нему обращаются в виде последовательности структур, которые, в свою очередь, являются массивами - каждой строки данных, возвращаемой из запроса.
Если вы хотите вывести все строки данных, не зная заранее столбцов (или передавая их динамически, как вы подразумеваете в приведенном выше коде), попробуйте следующее:
<cfoutput query="myQuery">
<cfloop list="#myQuery.ColumnList#" index="thisColumn">
#myQuery[thisColumn][myQuery.CurrentRow]#
</cfloop>
</cfoutput>
Это предоставит вам необходимую информацию. Внешний cfoutput с атрибутом запроса будет перебирать все строки полученных вами данных. Затем для каждой строки вы перебираете список столбцов, создаваемых запросом, и для каждого столбца выводите данные, указывая строку через myQuery.CurrentRow, которая автоматически выполняет итерации для вас через внешний вывод.
Я бы также воспользовался моментом, чтобы рекомендовать вам избегать циклов внутри циклов и просто выводить свои значения явно:
<cfoutput query="myQuery">
#company# #phone#
</cfoutput>
Использование этого синтаксиса немного дешевле, чем вышеупомянутый цикл внутри цикла.