Witam
Koledzy jestem nowy w temacie SQL prosił bym o pomoc w dostawieniu Pivota do tego zapytania
Potrzebuje przedstawić ceny z karty towaru w wierszach
SELECT 1 as [1]
, CDN.TwrKarty.Twr_Kod [KOD]
, TwG_Kod [GRUPA]
, CDN.TwrKarty.Twr_Katalog [SYMBOL]
, CDN.TwrKarty.Twr_Nazwa [NAZWA]
, CDN.TwrKarty.Twr_Jm [JM]
, CDN.TwrKarty.Twr_Atrybut3 [KOD PRODUCENTA ]
, CDN.TwrKarty.Twr_Wartosc3 [nr prod]
, CDN.TwrKarty.Twr_Ean [EAN]
, ope_nazwisko
, TwC_TwrLp
, TwC_Wartosc
FROM CDN.TwrKarty
INNER JOIN CDN.TwrCeny ON TwrCeny.TwC_TwrNumer = TwrKarty.Twr_GIDNumer
INNER JOIN CDN.TwrGrupyDom ON CDN.TwrKarty.Twr_GIDTyp = CDN.TwrGrupyDom.TGD_GIDTyp AND CDN.TwrKarty.Twr_GIDNumer = CDN.TwrGrupyDom.TGD_GIDNumer
INNER JOIN CDN.TwrGrupy ON CDN.TwrGrupyDom.TGD_GrOTyp = CDN.TwrGrupy.TwG_GIDTyp AND CDN.TwrGrupyDom.TGD_GrONumer = CDN.TwrGrupy.TwG_GIDNumer
left join cdn.opekarty s on Twr_OpeTyp=s.ope_gidtyp and Twr_OpeNumer =s.ope_gidnumer
INNER JOIN CDN.TwrOpisy ON CDN.TwrKarty.Twr_GIDNumer = CDN.TwrOpisy.TwO_TwrNumer
where (TwC_TwrLp in (1,2,3,4,5,6)) and( Twr_RodzajId = 1296) ;
CENY z Karty Towaru + Pivot
Moderator: mikey
-
rafalt
- Posty: 16
- Rejestracja: 04 mar 2009, 08:17
- Rola: Administrator CDN XL
- Wersja: 2015
- Lokalizacja: Tarnów
Re: CENY z Karty Towaru + Pivot
Myślę że Pivot na razie nie potrzebny.
Pozdrawiam
Pozdrawiam
Kod: Zaznacz cały
SELECT 1 as [1]
, CDN.TwrKarty.Twr_Kod [KOD]
, TwG_Kod [GRUPA]
, CDN.TwrKarty.Twr_Katalog [SYMBOL]
, CDN.TwrKarty.Twr_Nazwa [NAZWA]
, CDN.TwrKarty.Twr_Jm [JM]
, CDN.TwrKarty.Twr_Atrybut3 [KOD PRODUCENTA ]
, CDN.TwrKarty.Twr_Wartosc3 [nr prod]
, CDN.TwrKarty.Twr_Ean [EAN]
, ope_nazwisko
, ISNULL(C1.TwC_Wartosc,0) as Cena1
, ISNULL(C2.TwC_Wartosc,0) as Cena2
, ISNULL(C3.TwC_Wartosc,0) as Cena3
, ISNULL(C4.TwC_Wartosc,0) as Cena4
, ISNULL(C5.TwC_Wartosc,0) as Cena5
, ISNULL(C6.TwC_Wartosc,0) as Cena6
FROM CDN.TwrKarty
INNER JOIN CDN.TwrGrupyDom ON CDN.TwrKarty.Twr_GIDTyp = CDN.TwrGrupyDom.TGD_GIDTyp AND CDN.TwrKarty.Twr_GIDNumer = CDN.TwrGrupyDom.TGD_GIDNumer
INNER JOIN CDN.TwrGrupy ON CDN.TwrGrupyDom.TGD_GrOTyp = CDN.TwrGrupy.TwG_GIDTyp AND CDN.TwrGrupyDom.TGD_GrONumer = CDN.TwrGrupy.TwG_GIDNumer
left join cdn.opekarty s on Twr_OpeTyp=s.ope_gidtyp and Twr_OpeNumer =s.ope_gidnumer
INNER JOIN CDN.TwrOpisy ON CDN.TwrKarty.Twr_GIDNumer = CDN.TwrOpisy.TwO_TwrNumer
LEFT JOIN CDN.TwrCeny C1 ON C1.TwC_TwrNumer = TwrKarty.Twr_GIDNumer AND C1.TwC_TwrLp = 1
LEFT JOIN CDN.TwrCeny C2 ON C2.TwC_TwrNumer = TwrKarty.Twr_GIDNumer AND C2.TwC_TwrLp = 2
LEFT JOIN CDN.TwrCeny C3 ON C3.TwC_TwrNumer = TwrKarty.Twr_GIDNumer AND C3.TwC_TwrLp = 3
LEFT JOIN CDN.TwrCeny C4 ON C4.TwC_TwrNumer = TwrKarty.Twr_GIDNumer AND C4.TwC_TwrLp = 4
LEFT JOIN CDN.TwrCeny C5 ON C5.TwC_TwrNumer = TwrKarty.Twr_GIDNumer AND C5.TwC_TwrLp = 5
LEFT JOIN CDN.TwrCeny C6 ON C6.TwC_TwrNumer = TwrKarty.Twr_GIDNumer AND C6.TwC_TwrLp = 6
where ( Twr_RodzajId = 1296) ; Re: CENY z Karty Towaru + Pivot
Dzięki rafalt
o to mi chodziło
jakoś się zapętliłem na tym pivocie
Działa
o to mi chodziło
jakoś się zapętliłem na tym pivocie
Działa
Re: CENY z Karty Towaru + Pivot
Ale przy użyciu pivot nie będzie potrzebne tylko joinow,
warunek in w pivocie najlepiej jest sobie dynamicznie zbudować ale dla kilku kolumn też może być
warunek in w pivocie najlepiej jest sobie dynamicznie zbudować ale dla kilku kolumn też może być
Kod: Zaznacz cały
select * from (SELECT 1 as [lp]
, CDN.TwrKarty.Twr_Kod [KOD]
, TwG_Kod [GRUPA]
, CDN.TwrKarty.Twr_Katalog [SYMBOL]
, CDN.TwrKarty.Twr_Nazwa [NAZWA]
, CDN.TwrKarty.Twr_Jm [JM]
, CDN.TwrKarty.Twr_Atrybut3 [KOD PRODUCENTA ]
, CDN.TwrKarty.Twr_Wartosc3 [nr prod]
, CDN.TwrKarty.Twr_Ean [EAN]
, ope_nazwisko
, TwC_TwrLp
, TwC_Wartosc
FROM CDN.TwrKarty
INNER JOIN CDN.TwrCeny ON TwrCeny.TwC_TwrNumer = TwrKarty.Twr_GIDNumer
INNER JOIN CDN.TwrGrupyDom ON CDN.TwrKarty.Twr_GIDTyp = CDN.TwrGrupyDom.TGD_GIDTyp AND CDN.TwrKarty.Twr_GIDNumer = CDN.TwrGrupyDom.TGD_GIDNumer
INNER JOIN CDN.TwrGrupy ON CDN.TwrGrupyDom.TGD_GrOTyp = CDN.TwrGrupy.TwG_GIDTyp AND CDN.TwrGrupyDom.TGD_GrONumer = CDN.TwrGrupy.TwG_GIDNumer
left join cdn.opekarty s on Twr_OpeTyp=s.ope_gidtyp and Twr_OpeNumer =s.ope_gidnumer
INNER JOIN CDN.TwrOpisy ON CDN.TwrKarty.Twr_GIDNumer = CDN.TwrOpisy.TwO_TwrNumer
where (TwC_TwrLp in (1,2,3,4,5,6))and( Twr_RodzajId = 1296)
)a
pivot (max(TwC_Wartosc) for twc_twrlp in ([1],[2],[3],[4],[5],[6])
)b
Re: CENY z Karty Towaru + Pivot
Witam
Dziękuje za wszystkim za pomoc
Xtomi na pewno wykorzystam ten sposób
poległem na tym pivocie
dzieki
Dziękuje za wszystkim za pomoc
Xtomi na pewno wykorzystam ten sposób
poległem na tym pivocie
dzieki