Update WszystkieKolumny jak w innym wierszu

0

Cześć! Trochę nie wiedziałem jak opisać temat :)
Problem jest następujący:
jest tabela id,pole1,pole2,...,pole30
[rekord1] 10, 'zxc','xyz',...,'abc'
[rekokrd12] 11, null,null,null

jakie zapytanie utworzyć, aby w rekord12 wszystkie pola (prócz ID, ewentualnie z ID a potem ręcznie pozmieniać ;] ) miały taką samą wartość jak rekord1
jakieś pomysły :)?

0
insert into tabela (id, pole1, pole2, ..., polen) 
(select jakiesID_moze_z_sekwencje, pole1, pole2, ..., polen from tabela where id = id_z_rekord1)
0

jaka baza?

@woolfik rekord już istnieje :p

0

chodzi jeszcze o to, że ilość pól (i nazwy tych pól) mogą być nieznane ;) miałem nadzieję, że ma ktos jakiś gotowy srkypcik w kieszeni _
w pewnym sensie najłatwiej było by zamienić po prostu ID tych dwóch rekordów między sobą :D... no ale nie wiem czy to na pewno ma sens, a o tej porze jeszcze logicznie nie myślę.

0

Jaka baza?
Generalnie bez znajomosci kolumn to ciezko, bo to by trzeba bylo jakims joinem. np tak:

update 
    tab
set
   pole1 = src.pole1
   ,pole2 = src.pole2
   ...
   ,pole30 = src.pole30
from
    tab
    inner join (select * from tab where id = 11) as src on 1=1
where
    tab.id=12
0

Jak chcesz, żeby to chodziło niezależnie od nazwy kolumn, to musisz się posłużyć dynamicznym SQLem oraz odwołaniem do tabelki systemowej, która przechowuje listę kolumn w danej tabeli.

1 użytkowników online, w tym zalogowanych: 0, gości: 1