Witam.
Potrzebuję zapytania SQL, które by kopiowało w tabeli TwrCeny kolumnę TwC_Wartoscz z dwóch cennikow TwC_TwrLp=8,9 do jednego TwC_TwrLp=13, z tym że najpierw wprowadza wartości z 9 a póżniej z 8 nie nadpisując 9 (tylko te rekordy, których nie było w 9.
Z góry dziękuje za pomoc pozdrawiam.
SQL TwrCeny.TwC_TwrLp - kopiowanie ceników
Moderator: mikey
-
farbex
- Posty: 111
- Rejestracja: 15 sty 2010, 15:17
- Rola: Administrator CDN XL
- Lokalizacja: Ciechanów
- Kontakt:
SQL TwrCeny.TwC_TwrLp - kopiowanie ceników
Przemysław Klimkowski
farbex.com.pl
farbex.com.pl
-
piotru
- Posty: 83
- Rejestracja: 08 maja 2008, 13:02
- Rola: Konsultant CDN XL
- Wersja: 8.0 HR1
- Lokalizacja: Warszawa
- Kontakt:
Re: SQL TwrCeny.TwC_TwrLp - kopiowanie ceników
Uzyj kursora ktory bedzie krok po kroku wyciagal dane i pozniej robil insert do nowej tabelifarbex pisze:Witam.
Potrzebuję zapytania SQL, które by kopiowało w tabeli TwrCeny kolumnę TwC_Wartoscz z dwóch cennikow TwC_TwrLp=8,9 do jednego TwC_TwrLp=13, z tym że najpierw wprowadza wartości z 9 a póżniej z 8 nie nadpisując 9 (tylko te rekordy, których nie było w 9.
Z góry dziękuje za pomoc pozdrawiam.
http://msdn.microsoft.com/en-us/library/ms180169.aspx
-
piotru
- Posty: 83
- Rejestracja: 08 maja 2008, 13:02
- Rola: Konsultant CDN XL
- Wersja: 8.0 HR1
- Lokalizacja: Warszawa
- Kontakt:
Re: SQL TwrCeny.TwC_TwrLp - kopiowanie ceników
Jesli masz problem z tym to pisz na prywatny adres chetnei ci pomogepiotru pisze:Uzyj kursora ktory bedzie krok po kroku wyciagal dane i pozniej robil insert do nowej tabelifarbex pisze:Witam.
Potrzebuję zapytania SQL, które by kopiowało w tabeli TwrCeny kolumnę TwC_Wartoscz z dwóch cennikow TwC_TwrLp=8,9 do jednego TwC_TwrLp=13, z tym że najpierw wprowadza wartości z 9 a póżniej z 8 nie nadpisując 9 (tylko te rekordy, których nie było w 9.
Z góry dziękuje za pomoc pozdrawiam.
http://msdn.microsoft.com/en-us/library/ms180169.aspx
-
farbex
- Posty: 111
- Rejestracja: 15 sty 2010, 15:17
- Rola: Administrator CDN XL
- Lokalizacja: Ciechanów
- Kontakt:
Re: SQL TwrCeny.TwC_TwrLp - kopiowanie ceników
Dziękuję bardzo za każdą pomoc.
Znalazłem już rozwiązanie:
Wersja z usunięciem i utworzeniem cennika:
Wersja z aktualizacją cennika (z tabelą tymczasową):
Jeszcze raz dziękuję i pozdrawiam.
Znalazłem już rozwiązanie:
Wersja z usunięciem i utworzeniem cennika:
Kod: Zaznacz cały
USE CDNXL_Farbex_nowy
DELETE FROM CDN.TwrCeny
WHERE Twc_TwrLp=13
Insert into CDN.TwrCeny
([TwC_TwrTyp]
,[TwC_TwrFirma]
,[TwC_TwrNumer]
,[TwC_TwrLp]
,[TwC_Waluta]
,[TwC_NrKursu]
,[TwC_Marza]
,[TwC_Wartosc]
,[TwC_Zaok]
,[TwC_Offset]
,[TwC_Aktualizacja]
,[TwC_Priorytet])
SELECT
c9.[TwC_TwrTyp]
,c9.[TwC_TwrFirma]
,c9.[TwC_TwrNumer]
,13
,c9.[TwC_Waluta]
,c9.[TwC_NrKursu]
,c9.[TwC_Marza]
,CASE
WHEN c9.[TwC_Wartosc] is null or c9.[TwC_Wartosc]=0
THEN c8.[TwC_Wartosc]
ELSE c9.[TwC_Wartosc]
END
,C9.[TwC_Zaok]
,C9.[TwC_Offset]
,C9.[TwC_Aktualizacja]
,C9.[TwC_Priorytet]
FROM CDN.TwrCeny as c9
LEFT OUTER JOIN CDN.TwrCeny as c8 on c8.[TwC_TwrNumer]=c9.[TwC_TwrNumer]
and c8.Twc_TwrLp=8
WHERE c9.Twc_TwrLp=9Kod: Zaznacz cały
USE CDNXL_Farbex_nowy
SELECT * INTO #ceny FROM CDN.TwrCeny
where Twc_TwrLp in (8,9)
UPDATE CDN.TwrCeny
SET CDN.TwrCeny.TwC_Wartosc = CASE
WHEN c9.[TwC_Wartosc] is null or c9.[TwC_Wartosc]=0
THEN c8.[TwC_Wartosc]
ELSE c9.[TwC_Wartosc]
END
FROM #ceny as c9
LEFT OUTER JOIN #ceny as c8 on c8.[TwC_TwrNumer]=c9.[TwC_TwrNumer]
and c8.Twc_TwrLp=8
WHERE c9.Twc_TwrLp=9
and CDN.TwrCeny.Twc_TwrLp=13
and CDN.TwrCeny.Twc_TwrNumer=c9.Twc_TwrNumer
drop table #cenyPrzemysław Klimkowski
farbex.com.pl
farbex.com.pl