У меня есть один файл xls, и на 1-м листе у меня есть записи моего запаса товаров, я извлекаю этот файл каждый год и помещаю результат в последнюю строку в той же таблице. Я пытаюсь соответствовать последние 3 года, код статьи УНИКАЛЬНЫЙ, но описание было изменено. Есть один способ группировки по коду статьи, и если описание изменилось, использовать последний найденный? это файл
это мой запрос, я использую ADODB.Connection:
SELECT tab1[Codice Articolo], tab1Descrizione, Sum(IIf([anno]=2017,[qta],0)) AS Qta2017, Sum(IIf([anno]=2017,[Tot],0)) AS Val2017, Sum(IIf([anno]=2017,[€Pz],0)) AS Cad2017, Sum(IIf([anno]=2018,[Qta],0)) AS Qta2018, Sum(IIf([anno]=2018,[Tot],0)) AS Val2018, Sum(IIf([anno]=2018,[€pz],0)) AS Cad2018, Sum(IIf([anno]=2019,[Qta],0)) AS Qta2019, Sum(IIf([anno]=2019,[Tot],0)) AS Val2019, Sum(IIf([anno]=2019,[€pz],0)) AS Cad2019
FROM tab1
GROUP BY tab1.[Codice Articolo], tab1.Descrizione;
это результат qry
и это то, что я надеюсь иметь возможность иметь:
Я думаю что мне нужно использовать одно соединение с одной и той же таблицей, я пробую какой-то вариант этого кода без права:
SELECT t1[Codice Articolo], t2.Descrizione,(IIf(t1.[anno]=2017,t1.[qta],0)) AS Qta2017, Sum(IIf(t1.[anno]=2017,t1.[Tot],0)) AS Val2017, Sum(IIf(t1.[anno]=2017,t1.[€Pz],0)) AS Cad2017, Sum(IIf(t1.[anno]=2018,t1.[Qta],0)) AS Qta2018, Sum(IIf(t1.[anno]=2018,t1.[Tot],0)) AS Val2018, Sum(IIf(t1.[anno]=2018,t1.[€pz],0)) AS Cad2018, Sum(IIf(t1.[anno]=2019,t1.[Qta],0)) AS Qta2019, Sum(IIf(t1.[anno]=2019,t1.[Tot],0)) AS Val2019, Sum(IIf(t1.[anno]=2019,t1.[€pz],0)) AS Cad2019
FROM tab1 t1
LEFT JOIN (Select t2.Descrizione from Tab1 t2 on t2.anno = max(t1.anno)
LEFT JOIN
GROUP BY tab1[Codice Articolo], t2.Descrizione;
Верный путь, но ошибка в коде или неправильный подход? спасибо за любые предложения