Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zamiana wartości w kolumnach
msm
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 2
Dołączył: 15.07.2010

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


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.

Ten post edytował mortus 22.01.2012, 11:22:32
Go to the top of the page
+Quote Post
msm
post
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 2
Dołączył: 15.07.2010

Ostrzeżenie: (0%)
-----


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.

Ten post edytował msm 22.01.2012, 14:50:34
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 05:58