Wpis z mikrobloga

Miry, orientuje się ktoś jak zrobić w #sql #comarch #optima, żeby przy sprawdzaniu grupy danego towaru ze sprzedazy pokazywało tylko najwyższego 'potomka', o ile jest? Powiedzmy, ze gdy sa nastepujace grupy:
Gr. nadrzędna Pieczywo
- gr. podrzędna Bułki
- gr. podrzędna Chleb
- gr. podrzędna Drożdzówki

To żeby w momencie gdy dany towar jest w grupie drożdzówki, nie duplikowało go również z grupy rodzic(pieczywo). Pracuje na takim magazynie że niestety nie każdy towar jest w gr. podrzędnej, więc nie da się po prostu zrobić czegos w stylu where poziom <> 0
select TE.TrE_TwrNazwa, TE.TrE_WartoscNetto, TE.TrE_Jm, Nazwa, Poziom from cdn.TraElem TE
left join cdn.TraNag TN on tn.TrN_TrNID = te.TrE_TrNId
left join cdn.towary TWR on TWR.twr_twrid = TE.TrE_TwrId
left join CDN.TwrGrupy AS TG ON TG.TwG_GIDTyp = TWR.Twr_GIDTyp and TG.TwG_GIDNumer = TWR.Twr_GIDNumer
left join CDN.TwrGrupyView on TwG_GRONumer = GIDNumer
where (tg.TwG_GrONumer <> 0) and (tg.TwG_GrONumer <> -1) and TrE_DataDok > '2019-10-29' and TrN_Anulowany = 0 order by TE.TrE_WartoscNetto desc;

Powyższe zapytanie powoduje zduplikowane rekordy
  • 1
  • Odpowiedz