У вас нет проблемы с CF, у вас есть проблема с SQL, и я думаю, что это подзапросы. Во-первых, почему подзапрос, а не объединение?
Можете ли вы подтвердить, что они являются отношениями 1: 1 в подзапросах, потому что, если они один ко многим, вы просто получите первое совпадение.
Я не знаю схему вашей базы данных, но, действуя так, как вы в настоящее время, я думаю, что SELECT должен иметь соответствие таблицы на основе поля формы, которое вы только что обновили
<cfquery name="phase" datasource="#application.datasource#">
SELECT status,
(
SELECT ROUND(sum(time_to_sec(duration))/3600,2)
FROM gt_timesheet
WHERE gt_timesheet.phaseid=<cfqueryparam value="#form.phase#" cfsqltype="CF_SQL_INTEGER">
) as billedbillablehours,
(
SELECT ROUND(sum(time_to_sec(hours))/3600,2)
FROM gt_services
WHERE gt_services.phaseid=<cfqueryparam value="#form.phase#" cfsqltype="CF_SQL_INTEGER">
) as billablehours
FROM gt_phases
WHERE phaseid=<cfqueryparam value="#form.phase#" cfsqltype="CF_SQL_INTEGER">
</cfquery>
Надеюсь, что вы куда-то попадете, если нет, я думаю, вам нужно более подробно объяснить схему базы данных.