Имею рабочий запросец: Код (Text): SELECT RecPart as `Тип оборудования`, FORMAT((sum(iif(LocCur = 'ready',1,0))+sum(iif(LocCur = 'stock',1,0))+sum(iif(LocCur = 'scrap',1,0))),0) as Всего, FORMAT(sum(iif(DataRec.RecField = 'ЛБ УПТОиК',iif(LocCur = 'scrap',0,1),0)),0) as Новое, FORMAT(sum(iif(LocCur = 'ready',iif(DataRec.RecField = 'ЛБ УПТОиК',0,iif(FinTst>Date()-365,1,0)),0)),0) as Готовое, FORMAT(sum(iif(LocCur = 'stock',iif(DataRec.RecField = 'ЛБ УПТОиК',0,1),iif(LocCur = 'ready',iif(DataRec.RecField = 'ЛБ УПТОиК',0,iif(FinTst<Date()-365,1,0)),0))),0) as `Ремонтный фонд`, FORMAT(sum(iif(LocCur = 'scrap',1,0))) as `Всего отдефектовано` FROM (DataWO INNER JOIN DataRec ON DataWO.RecNum=DataRec.RecNum) WHERE DataWO.PceType=62 and DataRec.RecCust='ТПП-ПНГ' and DataWO.LocCur<>'shipped' GROUP BY DataWO.RecPart И при этом получаю результат: Есть проблема в том что мне нужно выводить группировать не по полному названию эти трансформаторы, а только по номиналу типа 300/3819 или 63/856, без учета того, что до этого номинала написано. Искал разные функции агрегации, химичил, ничего не вышло. Как реализовать? Прошу помощи форумчане!
с аксесовским запросом это не работает. Прбовал Instr, но не выходит. там тоьлко одно условие можно прописать. А мне надо два: при разделителе ' ' и '-'.
Делая так: Код (Text): Mid([RecPart],InStr(1,[RecPart],' ')+1) as `Тип оборудования` Я получаю вот так: Но это не подходит, надо получается чтобы фильтровало выводимое по двум условиям. По разделителю ' ' и '-'. Но ка кне мучался не работает двойное условие. Даже iif пробовал подключить, все равно не катит. Мне получается надо чтобы брало в учет только то что находится после ' ' или '-'. Но как сделать просто хз.
Решил всё этим вот дерьмом: Код (Text): Mid((Mid([RecPart],InStr(1,[RecPart],' ')+1)),InStr(1,(Mid([RecPart],InStr(1,[RecPart],' ')+1)),'-')+1) Уииииииииии