Лучший способ соединиться, чтобы Межосновывать 7,1 использований.NET C#

вы должны присоединиться к сумме (а не суммировать объединение)

  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 таблицам ..

5
задан Johan - reinstate Monica 10 June 2014 в 14:07
поделиться

3 ответа

CodeGear предлагает бесплатному ADO.NET 2,0 драйвера для зарегистрированных пользователей InterBase здесь:

http://cc.embarcadero.com/item/25497

Обратите внимание, что "зарегистрированные пользователи InterBase" включает свободный выпуск InterBase 2007 Разработчиков. Загрузка говорит, что это на 2007, но это хорошо работает с InterBase 7, и команда InterBase в CodeGear сказала мне, что у них нет проблемы с людьми, использующими его с этой целью.

Я не рекомендую использовать драйвер, разработанный для Firebird, поскольку InterBase и Firebird имеют несколько различные синтаксисы SQL и отличаются по другим функциям, также. В частности, я думаю, что использование любого драйвера, зависящего от fbclient.dll с InterBase, напрямую опасно.

6
ответ дан 14 December 2019 в 13:51
поделиться

Я думаю, что поставщик .NET Firebird совпадает с тем, который это находится в моно. Оба - превосходный btw.

0
ответ дан 14 December 2019 в 13:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: