Kopiowanie jednej kolumny tabeli do innej bazy

0

Witam
W SQL-u jestem początkującym.
Nie mogę sobie dać rady z następującym problemem.
Mam bazę danych Klientów (tabela klienci ponad 200 kolumn i 10k wierszy z różnymi danymi).
Mam też drugą bazę danych z kopią danych poprzedniej bazy - identyczna struktura i nazwy tabel/kolumn.

Potrzebuję skopiować jedną kolumnę (u mnie adres e-mail - kolumna Email) z bazy archiwum do bazy głównej dla wszystkich (10k+) klientów, których jest mniej w bazie archiwum.
Próbowałem:

INSERT INTO bazaglowna.klienci (Email) SELECT Email FROM bazaarchiwum.klienci

ale to nie działa, bo chyba musiałbym podać wszystkie 200+ nazwy kolumn.

Bardzo proszę o pomoc.

0

INSERT INTO bazaglowna.klienci (*) SELECT * FROM bazaarchiwum.klienci no chyba że id będą już zajęte

4

Czekaj .. jeśli masz taką samą strukturę baz i chcesz tylko przekopiować maila z archiwum do głównej bazy to Ty chcesz zrobić UPDATE w sumie:

UPDATE bazaglowna.klienci
SET g.Email = a.Email 
FROM  bazaglowna.klienci g
INNER JOIN  bazaarchiwum.klienci a
ON g.KlientID = a.KlientID

Zakładam, że KlientID to unikalne ID dla tabeli. Oczywiście pole Email w bazie głównej dla rekordów których nie ma w archiwum pozostanie nie zmienione.

0

Dzięki serdeczne @BlackBad, wszystko działa!!
@_13th_Dragon: to rozwiązanie przywraca całą bazę danych archiwum, a nie o to mi chodzi, bo w bazie aktualnej sporo danych jest już zmienionych. Czhodziło mi jedynie o przepisanie jednej kolumny.

0

Rozumiem, część klientów w ramkach RODO zrezygnowało z usług firmy, teraz chcesz sprzedać ich maile?
Mam nadzieje że karma cię dopadnie.

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