Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2014, 13:10   #1
~>>>Dron<<<~
Пользователь
 
Регистрация: 03.11.2009
Сообщений: 18
Вопрос Объеденить запрос. Ошибка "количество таблиц более 50"

Есть запрос, который по отдельности работает, но мне нужно его объеденить. при добавлении ещё одного запроса начала выдавать ошибку что число таблиц в запросе не может быть болше 50.

Пытался исправить пробовал разные варианты.

Подскажите пожалуйста

Запрос:
(сам запрос правильный, нужно как то может сделать общий From (они одинаковые) пробывал, не получается)

Код:
SELECT T1.fiztonn_dr_met, T1.usl_tonn_dr_met, 
       T2.usl_tonn, T2.fiztonn, 

       T3.fiztonn_dr_met_br2, T3.usl_tonn_dr_met_br2, 
       T4.usl_tonn_br2,T4.fiztonn_br2,

       T5.fiztonn_dr_met_br3, T5.usl_tonn_dr_met_br3,
       T6.usl_tonn_br3,T6.fiztonn_br3,

SUM(T1.fiztonn_dr_met+T2.fiztonn) as sum_fiz_tonn_dr_met,
SUM(T2.usl_tonn+T1.usl_tonn_dr_met) as sum_usl_tonn_dr_met,

SUM(T3.fiztonn_dr_met_br2+T4.fiztonn_br2) as sum_fiz_tonn_dr_met_br2,
SUM(T3.usl_tonn_dr_met_br2+T4.usl_tonn_br2) as sum_usl_tonn_dr_met_br2,


SUM(T5.fiztonn_dr_met_br3+T6.fiztonn_br3) as sum_fiz_tonn_dr_met_br3,
SUM(T5.usl_tonn_dr_met_br3+T6.usl_tonn_br3) as sum_usl_tonn_dr_met_br3

FROM 



  (select isnull(sum(weight_calc),0) as usl_tonn_dr_met,isnull(sum(weight_fact),0) as fiztonn_dr_met
from nazn,req,prod,oper,unit

where  
nazn.nazn_id = req.nazn_id 
and req.req_id = prod.req_id 
and unit.unit_id=prod.unit_id and unit.prod_code='ТРАВЛ' 
and oper.op_id=prod.op_prod and  oper.op_code='NTA' and


 prod.thick<2.2 and nazn.pr_surf NOT 
IN ('I')
and dbo.AF_CALC_BRIGADA_12(Date_IN)=1 
 and date_in>'2014-09-03 00:00:00'
 and  date_in<'2014-09-03 23:59:59'

   ) T1,

  (SELECT isnull(sum(weight_calc),0) as usl_tonn,isnull(sum(weight_fact),0) as fiztonn
 from nazn,req,prod,oper,unit
 where
nazn.nazn_id = req.nazn_id 
and req.req_id = prod.req_id 
and unit.unit_id=prod.unit_id and unit.prod_code='ТРАВЛ' 
and oper.op_id=prod.op_prod and  oper.op_code='NTA'  and

 prod.thick<2.2 and nazn.pr_surf='I' and 
dbo.AF_CALC_BRIGADA_12(Date_IN)=1 
 and date_in>'2014-09-03 00:00:00'
 and  date_in<'2014-09-03 23:59:59'

) T2,

  (select isnull(sum(weight_fact),0) as fiztonn_dr_met_br2,isnull(sum(weight_calc),0) as 

usl_tonn_dr_met_br2
from nazn,req,prod,oper,unit
where 
nazn.nazn_id = req.nazn_id 
and req.req_id = prod.req_id 
and unit.unit_id=prod.unit_id and unit.prod_code='ТРАВЛ' 
and oper.op_id=prod.op_prod and  oper.op_code='NTA'  and
prod.thick<2.2 and nazn.pr_surf NOT 
IN ('I')

and dbo.AF_CALC_BRIGADA_12(Date_IN)=2 
 and date_in>'2014-09-03 00:00:00'
 and  date_in<'2014-09-03 23:59:59'

   ) T3,

  (SELECT isnull(sum(weight_calc),0) as usl_tonn_br2,isnull(sum(weight_fact),0) as fiztonn_br2
 from nazn,req,prod,oper,unit
 where
nazn.nazn_id = req.nazn_id 
and req.req_id = prod.req_id 
and unit.unit_id=prod.unit_id and unit.prod_code='ТРАВЛ' 
and oper.op_id=prod.op_prod and  oper.op_code='NTA' and
  prod.thick<2.2 and nazn.pr_surf='I' 
and dbo.AF_CALC_BRIGADA_12(Date_IN)=2 
 and date_in>'2014-09-03 00:00:00'
 and  date_in<'2014-09-03 23:59:59'
   ) T4,
 (select isnull(sum(weight_fact),0) as fiztonn_dr_met_br3,isnull(sum(weight_calc),0) as 

usl_tonn_dr_met_br3
from nazn,req,prod,oper,unit
where 
nazn.nazn_id = req.nazn_id 
and req.req_id = prod.req_id 
and unit.unit_id=prod.unit_id 
and unit.prod_code='ТРАВЛ' 
and oper.op_id=prod.op_prod and  oper.op_code='NTA' and
prod.thick<2.2 and nazn.pr_surf NOT 
IN ('I')
and dbo.AF_CALC_BRIGADA_12(Date_IN)=3 
 and date_in>'2014-09-03 00:00:00'
 and  date_in<'2014-09-03 23:59:59'

   ) T5,

  (SELECT isnull(sum(weight_calc),0) as usl_tonn_br3,isnull(sum(weight_fact),0) as fiztonn_br3
 from nazn,req,prod,oper,unit
 where
nazn.nazn_id = req.nazn_id 
and req.req_id = prod.req_id 
and unit.unit_id=prod.unit_id and unit.prod_code='ТРАВЛ' 
and oper.op_id=prod.op_prod and  oper.op_code='NTA' and
 prod.thick<2.2 and nazn.pr_surf='I' 
and dbo.AF_CALC_BRIGADA_12(Date_IN)=3
 and date_in>'2014-09-03 00:00:00'
 and  date_in<'2014-09-03 23:59:59'
   ) T6

Последний раз редактировалось ~>>>Dron<<<~; 30.09.2014 в 13:12.
~>>>Dron<<<~ вне форума Ответить с цитированием
Старый 30.09.2014, 13:36   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

case when не знаешь что-ли? Там же одни и те же таблицы и условия отбора почти одинаковые. Отличия в casе when и суммируй. На дату коряво, лучше
date_in>='2014-09-03' and date_in<'2014-09-04'
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.10.2014, 20:32   #3
~>>>Dron<<<~
Пользователь
 
Регистрация: 03.11.2009
Сообщений: 18
Лампочка

Спасибо, разобрался сделал))
~>>>Dron<<<~ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести количество дней "К" и суммарный пробег "S" С++ Builder XE4 (визуальный режим) программирование Помощь студентам 1 24.01.2014 09:00
Вывести количество дней "К" и суммарный пробег "S" С++ Builder XE4 (визуальный режим) программирование Помощь студентам 0 23.01.2014 02:04
Ошибка "Размер поля недостаточен, чтобы принять добавляемые данные. Попробуйте вставить меньшее количество данных" eraserhp Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 29 30.08.2012 22:44
Подсчитать количество букв "й", "ы" и "я", содержащихся в заданной строке. VoltZZZ Помощь студентам 2 01.03.2012 23:39
Что за ошибка "В операции должен использоваться обновляемый запрос"? Ecosasha Свободное общение 1 22.05.2011 13:00