Radosław Dumania

Radosław Dumania Senior Master Data
Analyst

Temat: kwerenda do optymalizacji

Hey,

Mam takie kwerendy:

1. SKU Lifestage - kwerenda generujaca z kilku podkwerend info nt produktow (nazwa, cykl zycia, rynki na ktorych jest sprzedawany itd.) Wyglada tak:

SELECT nic.LCS_Descriptions.MATNR, MARA.MAKTX, Switch(A>0,"Active",A=0 And N>0 And I=0 And P=0,"Not active",P>0 And A=0,"Planning",I>0 And A=0 And P=0,"Initial",B>0 And A=0 And P=0 And I=0 And N=0,"Not assigned") AS Status, tmpTable.VKORG, ECC_hierarchy.Category, ECC_hierarchy.[Sub Category]
FROM tmpTable INNER JOIN ((MARA INNER JOIN (SELECT LCS_Descriptions.MATNR, Sum(IIf(LCS_Descriptions.[Life cycle status]="Active",1,0)) AS A, Sum(IIf([LCS_Descriptions].[Life cycle status]="Not active",1,0)) AS N, Sum(IIf([LCS_Descriptions].[Life cycle status]="Initial",1,0)) AS I, Sum(IIf([LCS_Descriptions].[Life cycle status]="Planning",1,0)) AS P, Sum(IIf([LCS_Descriptions].[Life cycle status] Is Null,1,0)) AS B FROM LCS_Descriptions GROUP BY LCS_Descriptions.MATNR) AS nic ON MARA.MATNR = nic.MATNR) LEFT JOIN ECC_hierarchy ON MARA.PRDHA = ECC_hierarchy.Hierarchy) ON tmpTable.MATNR = nic.MATNR;

2. Kwerende GS1_TOTAL ktora totalizuje wyniki per 1 produkt. W kolumnach podane sa rozne sprawdzenia i ich wyniki. Kwerenda wyglada tak:

SELECT SKU_lifestage.MATNR, SKU_lifestage.MAKTX, SKU_lifestage.Status, SKU_lifestage.VKORG, SKU_lifestage.Category, SKU_lifestage.[Sub Category], First(GS103Gross.check) AS GS103_Gross_Weight, First(GS103NEt.check) AS GS103_Net_Weight, First(GS104.check) AS GS104
FROM GS106 RIGHT JOIN (GS105 RIGHT JOIN (((SKU_lifestage LEFT JOIN GS103NEt ON SKU_lifestage.MATNR = GS103NEt.MATNR) LEFT JOIN GS103Gross ON SKU_lifestage.MATNR = GS103Gross.MATNR) LEFT JOIN GS104 ON SKU_lifestage.MATNR = GS104.MATNR) ON GS105.matnr = SKU_lifestage.MATNR) ON GS106.MATNR = SKU_lifestage.MATNR
GROUP BY SKU_lifestage.MATNR, SKU_lifestage.MAKTX, SKU_lifestage.Status, SKU_lifestage.VKORG, SKU_lifestage.Category, SKU_lifestage.[Sub Category];

Mam wrazenie ze cos sie miesza tam co jakis czas. Po pierwsze jest duzo podkwerend sprawdzajacych GS103,GS104, ktore sprawdzaja na tabeli z duplikatami i w tym totalu potem nie pokazuje sie prawidlowo czasem. Po drugie - skorzystalem z tego grupowania First i nie wiem czy dobrze bo np jak w podsprawdzeniu GS103

SELECT MARM.MATNR, MARM.MEINH, MARM.BRGEW, IIf([BRGEW]=0,"incorrect","") AS [Check]
FROM MARM;

w jednym rekordzie jest wszystko a w drugim jest blad (ten sam produkt) to w TOtalu bedzie ze jest ok? Moze ktos rzucic okiem i dac jakies sugestie?
Radosław Dumania

Radosław Dumania Senior Master Data
Analyst

Temat: kwerenda do optymalizacji

W Totalu dobrze mi tylko wychodzi jak w kolumnie odpowiadajacej danemu typowi bledu znajduje sie numer produktu - natomiast jak dodam w podkwerendzie w dodatkowym polu opis incorrect i pozniej w Totalu dam ta kolumne zamiast numeru produktu to wychodzi wszystko zle. juz nie wiem sam jak to zmontowac zeby dobrze bylo :((((
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: kwerenda do optymalizacji

Ty chcesz to optymalizować czy poprawić? Bo w temacie jest optymalizacja, a piszesz o nieoczekiwanym wyniku?
Dodatkowo oczekujesz że ktoś to rozkmini nie zadając sobie trudu:
1. Wstawienia sformatowanego SQL-a
2. Nie pisząc nic o danych w tabelach
3. Nie pisząc nic o oczekiwanym rezultacie

No nic, życze powodzenia....

Następna dyskusja:

Kwerenda SQL przez VBA




Wyślij zaproszenie do