Cześć,
mam takie relacje oraz tabele:
Kwestia idzie o update tabeli tblDescription na podstawie danych z Excela (dodalem tabele ExcelTempTable), które nie mają unikalnego numeru.
Tabela z Excela ma takie same kolumny jak tblDescription plus dodatkowo osobę do każdego rekordu przypisaną (Person z tabeli tblPeople)
Jak to zrobić?
Dane w excelu mogą być zaktualizowane, usuniete, albo dodane nowe, np. w wierwszu 2 zmini sie rozmiar nosa z Big na Medium.
Jakis gosc mi podpowiedział żebym uzyl do updated'u i dodania nowego rekordu takiego sqlk'a:
update tblDescription as t1 left join ExcelTempTable as t2 on
ti.[eyecolor] = t2.[eyecolor] and
t1.[hairstyle] = t2.[hairstyle] and
t1.[noseshape] = t2.[noseshape]
set
t1.[eyecolor] = t2.[eyecolor],
t1.[hairstyle] = t2.[hairstyle],
t1.[noseshape] = t2.[noseshape];
Aby usunac wiersz z tabeli tblDescription:
delete t1.* from tblDescription as t1
where t1.[eyecolor] & t1.[hairstyle] & t1.[noseshape]
not in
(select [eyecolor] & [hairstyle] & [noseshape] from ExcelTempTable);
ale jak zmienie coś w tabeli ExcelTempTable np. ShapeNose z Medium na Big to wszystkie wartości mi wymazuje w tabeli tblDescription w danym rekordzie uzywajac pierwszego sqlka (update). Dlaczego?
Jak to poprawić?
W załączeniu baza danych przykładowa.
Proszę pomóżcie,
Jacek