Показать сообщение отдельно
Старый 22.10.2013, 10:30   #1  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Преобразование вложенного SQL-запроса в query
Доброе утро, уважаемое сообщество! Третий день бьюсь над некоторой проблемой, никак не могу придти к конкретному решению.

Есть sql-запрос

X++:
--query 1
select * from
(
select 
list.itemid
,list.internalsp
,jour.SPDATE
,jour.SPCLOSED as jourClosed
,list.SPCLOSED  as listClosed
,sum(list.spqty) as SumSpQty
,jour.EMPLID
,jour.IDSP
from VENDSPLISTJOUR as jour

join VENDSPLISTTRANS as list
	on jour.INTERNALSP = list.INTERNALSP
	
group by list.ITEMID
,list.INTERNALSP
,jour.SPDATE
,jour.SPCLOSED 
,list.SPCLOSED  
,jour.EMPLID
,jour.IDSP
) 
as request1
join  
(
--query 2
select 
invoice.itemid
,invoice.internalsp
,SUM(invoice.qty) as sumQty
,invoice.PURCHID
from VENDINVOICETRANS as invoice

join INVENTTABLEMODULE as invent
	on invoice.ITEMID  = invent.ITEMID 
	and invent.MODULETYPE = 1

group by invoice.itemid
,invoice.internalsp
,invoice.PURCHID
) 
as resuest2
	on request1.INTERNALSP = resuest2.INTERNALSP
	and request1.ITEMID = resuest2.ITEMID
where request1.jourClosed = 0
Нужно преобразовать его в Query().

Нужно соединить именно в такой последовательности(jour+list) + (invoice + invent) и на выходе получить результат, с которым потом уже производить определённые действия.
На данный момент я сделал метод, который собирает нужные мне поле, ищет суммы и группирует, но из-за связей много-ко-много суммы множатся, чего быть не должно, а запрос sql корректно ищет суммы, поэтому и хочу его преобразовать в Query.
Буду благодарен за любую помощь, даже пинок в нужную сторону!