Есть такой запрос при выборке материалов из таблицы для формирования файла в Excel. И при выборке тонировки с 2х сторон вылетает ошибка. Можно как-нибудь "склеить" 2 строки подзапроса (PL) в 1 строку?
select cast(SUM(itd.qty) as varchar(15)) as summa , k.name as contragent , o.orderid , o.agreementno || '/' || oi.name || '/' || itd.modelno || '/' || itd.izdpart , go.name as NomRaskr , cast(oi.qty as varchar(15)) as sumizd , case when gg.ggtypeid <> 18 then ( select distinct itemsdetail.int_marking from itemsdetail join groupgoods on groupgoods.grgoodsid = itemsdetail.grgoodsid where itemsdetail.orderitemsid =oi.orderitemsid and itemsdetail.modelno =itd.modelno and itemsdetail.izdpart =itd.izdpart and groupgoods.ggtypeid = 18 ) else itd.int_marking end as formula , gg.name , gg.grgoodsid , g.marking as art , g.marking2 as art2 , case when gg.ggtypeid = 51 then ( select distinct itemsdetail.width from itemsdetail join groupgoods on groupgoods.grgoodsid = itemsdetail.grgoodsid where itemsdetail.orderitemsid =oi.orderitemsid and itemsdetail.modelno =itd.modelno and itemsdetail.izdpart =itd.izdpart and groupgoods.ggtypeid = 18 ) else itd.width end as width , case when gg.ggtypeid = 51 then ( select distinct itemsdetail.height from itemsdetail join groupgoods on groupgoods.grgoodsid = itemsdetail.grgoodsid where itemsdetail.orderitemsid =oi.orderitemsid and itemsdetail.modelno =itd.modelno and itemsdetail.izdpart =itd.izdpart and groupgoods.ggtypeid = 18 ) else itd.height end as height , itd.thick , oi.rcomment as komment , gg.ggtypeid as tipem /*Тонировка начало*/ , case when gg.ggtypeid <> 20 then ( select distinct goods.marking from itemsdetail join goods on goods.goodsid = itemsdetail.goodsid join groupgoods on groupgoods.grgoodsid = itemsdetail.grgoodsid where itemsdetail.orderitemsid =oi.orderitemsid and itemsdetail.modelno =itd.modelno and itemsdetail.izdpart =itd.izdpart and groupgoods.ggtypeid = 20 ) end as PL /*Тонировка конец*/ , case when gg.ggtypeid <> 63 then ( select distinct goods.marking from itemsdetail join goods on goods.goodsid = itemsdetail.goodsid join groupgoods on groupgoods.grgoodsid = itemsdetail.grgoodsid where itemsdetail.orderitemsid =oi.orderitemsid and itemsdetail.modelno =itd.modelno and itemsdetail.izdpart =itd.izdpart and groupgoods.ggtypeid = 63 ) end as Paskl , case when gg.ggtypeid <> 16 then ( select distinct groupgoods.name from itemsdetail join groupgoods on groupgoods.grgoodsid = itemsdetail.grgoodsid where itemsdetail.orderitemsid =oi.orderitemsid and itemsdetail.modelno =itd.modelno and itemsdetail.izdpart =itd.izdpart and groupgoods.ggtypeid = 16 ) end as falsh from itemsdetail itd, itemsdetail itd_SP join orderitems oi on (oi.orderitemsid=itd.orderitemsid) join orders o on (o.orderid = oi.orderid) join customers c on (c.customerid = o.customerid) join contragents k on (k.contragid = c.contragid) join groupgoods gg on (gg.grgoodsid=itd.grgoodsid) join goods g on (g.goodsid=itd.goodsid) join GRORDERSDETAIL god on god.orderitemsid = itd.orderitemsid join grorders go on go.grorderid = god.grorderid where go.grorderid in (10414) /* --itd.orderitemsid =:orderitemsid --and itd.modelno =:modelno --and itd.izdpart =:izdpart --and itd.updatestatus <> 3 and itd.childid is null */ and itd.orderitemsid = itd_SP.orderitemsid and itd.modelno = itd_SP.modelno and o.orderid not in (102606) --102568,102554,102610,102597, and gg.ggtypeid in (18,51) group by k.name , o.orderid , o.agreementno , oi.orderitemsid , oi.name , oi.qty , gg.ggtypeid , itd.int_marking , itd.modelno , itd.izdpart , gg.name , gg.grgoodsid , g.marking , g.marking2 , itd.width , itd.height , itd.thick , go.name , oi.rcomment , 18 , itd.grgoodsid order by o.agreementno,oi.name, itd.modelno, itd.izdpart desc