Strona 1 z 1

Nazwa cennika w liście FSE

: 31 mar 2017, 13:29
autor: piotrjadzia
Cześć !

Chciałbym na liście FSE dodać kolumnę z nazwą cennika - problem w tym, że mamy same spinacze.
Zrobiłem zapytanie

Kod: Zaznacz cały

    select TOP 1 n.Naz_Nazwa from cdn.tranag sp
    inner join cdn.tranag wz on sp.TrN_GIDTyp=wz.TrN_SpiTyp and sp.TrN_GIDNumer=wz.TrN_SpiNumer
    left join cdn.nazwy n on wz.TrN_CenaSpr=n.Naz_GIDLp and n.Naz_GIDTyp=64
    where {FiltrSQL}

ale oczywiście nie działa, bo nie mogę pofiltrować po tabeli sp - macie jakieś sposoby na takie rzeczy ?

próbowałem zrobić potworka:

Kod: Zaznacz cały

    select TOP 1 n.Naz_Nazwa from cdn.tranag sp
    inner join cdn.tranag wz on sp.TrN_GIDTyp=wz.TrN_SpiTyp and sp.TrN_GIDNumer=wz.TrN_SpiNumer
    left join cdn.nazwy n on wz.TrN_CenaSpr=n.Naz_GIDLp and n.Naz_GIDTyp=64
    where (sp.TrN_GIDTyp=(select Trn_gidTyp from cdn.tranag where {FiltrSQL}) AND sp.TrN_GIDNumer=(select Trn_gidNumer from cdn.tranag where {FiltrSQL}))

ale sypie błędy

Re: Nazwa cennika w liście FSE

: 31 mar 2017, 13:51
autor: taszek

Kod: Zaznacz cały

SELECT (SELECT CASE TrN_CenaSpr WHEN 0 THEN 'domyślna' ELSE RTRIM(REPLACE(n.Naz_Nazwa,' N1','')) END
		FROM CDN.TraNag wz 
		LEFT JOIN CDN.Nazwy n ON wz.TrN_CenaSpr = Naz_GIDLp AND Naz_GIDTyp = 64
		WHERE wz.TrN_SpiNumer = fse.TrN_GIDNumer AND wz.TrN_SpiTyp = fse.TrN_GIDTyp
		) [Cena]
FROM CDN.TraNag fse WHERE {FiltrSQL}

Re: Nazwa cennika w liście FSE

: 31 mar 2017, 14:33
autor: piotrjadzia
Dodałem TOP 1 - bo się sypało przy spinaczach wielu wztek i działa - dzięki :)