Поместите кавычки вокруг локали ... так ...
, если (Session :: имеет (локаль)) {
изменится на
, если ( Session :: has ('locale')) {
- СОВЕТ SYNTAX:
variable = $var
constant = const
string = 'string'
вы должны присоединиться к сумме (а не суммировать объединение)
select
a.industry_name
, t1.total_cost
, t2.total_allocation
from dbo.industry_tech_region a
left join (
select dbo.travel_requests.industry_id
, SUM(dbo.travel_requests.travel_cost + dbo.travel_requests.stay_cost + dbo.travel_requests.other_cost) AS total_cost
FROM bo.travel_requests
group by dbo.travel_requests.industry_id
) t1 on a.id = t1.industry_id
left join (
select dbo.industry_allocation.industry_id
, SUM(dbo.industry_allocation.allocation) AS total_allocation
from dbo.industry_allocation
group by dbo.industry_allocation.industry_id
) t2 on a.id = t2.industry_id
это происходит потому, что у вас есть две записи для industry_id 1, а затем строка соединяется два раза, если вы используете подзапрос для aggreated строка, которой это не может произойти ...
Я использовал левое соединение, потому что кажется, что не все industry_id соответствуют 3 таблицам ..