Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zamiana wartości w kolumnach
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
msm
Witam chciałbym w tabeli zamienić wartości dwóch kolumn miejscami.
Przykład:
tw_nazwa | tw_opis
aaa |bbb
ccc |bbb
aab |bba
po zmianie
tw_nazwa | tw_opis
bbb |aaa
bbb |ccc
bba |aab

Zamiana nazw kolumn nie może być wykonana
MSM
mortus
Podejrzewam, że jest co najmniej kilka sposobów, np. użycie zmiennych lokalnych. A może da się to zrobić z WITH:
  1. WITH temp(tw_opis, tw_nazwa) AS
  2. (
  3. SELECT tw_opis, tw_nazwa FROM tabela
  4. )
  5. UPDATE tabela
  6. SET
  7. tw_nazwa = temp.tw_opis,
  8. tw_opis = temp.tw_nazwa

Niestety nie jestem w stanie tego przetestować, bo nie mam MSSQL.
msm
Moja kwerenda
  1. WITH temp(tw_Opis, tw_Nazwa) AS
  2. (
  3. SELECT tw_Opis, tw_Nazwa FROM tw__Towar
  4. )
  5. UPDATE tw__Towar
  6. SET
  7. tw_Nazwa = temp.tw_Opis,
  8. tw_Opis = temp.tw_Nazwa


Dostaje błąd

Msg 4104, Level 16, State 1, Line 7
The multi-part identifier "temp.tw_Opis" could not be bound.
Msg 4104, Level 16, State 1, Line 8
The multi-part identifier "temp.tw_Nazwa" could not be bound.
--edit---
Wykorzystałem wolne kolumny w bazie do przeniesienia danych. Dziękuje za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.