Próbuję zrozumieć nasz sposób mogę zastąpić ciąg wykorzystując dane z innej tabeliSQL zastąpić z listy
Mam tabeli, który wygląda tak:
Id Translation 1 Peter 2 Sandra 3 Olga
Teraz chcę, aby wybrać wszystko i zastąpić tłumaczenia na podstawie listy, który wygląda tak:
Original New e # r ? lg *%
Tak, że lista wyboru wygląda następująco:
Id Translation 1 P#t#? 2 Sand?a 3 O*%a
Tak więc, dla każdego tłumaczenia potrzebuję WYMIENIAĆ (Tłumaczenie, Oryginał, Nowy). Lub innymi słowy: Muszę przejść przez każde "tłumaczenie" na mojej pierwszej liście i zrobić kolejną pętlę w moim zastępczym stole, aby zobaczyć, co zastąpić
Bare pamiętać, że pierwsza lista ma 25'000 wierszy i drugi ma 50'000, więc nie można po prostu wpisać go ręcznie :)
EDIT
prostu do wyjaśnienia: The Original i Nowy z moim spojrzeniem w górę tabeli mogą być zarówno litery i słowa, więc tabela może wyglądać tak:
Original New one two three fifty sun moon
Jest czas i miejsce na użycie kursorów, myślę, że właśnie znalazłeś.Nie sądzę, aby połączenie krzyżowe i korzystanie z funkcji opartej na zestawie działałyby tutaj, ponieważ każda zamiana byłaby inna. i istnieje możliwość nakładania się zamienników, na przykład, jeśli wymieniane są 'er' i' e', co ma precedens? Więc myślę, że chcesz kursora, zamawiając od maksymalnej długości w tabeli B do najkrótszej. – xQbert
@ Marcus Ohlsson: Jak byś przetłumaczył "Peter", jeśli "et" = "§" i "te" = "$"? –
I czy gwarantuje się, że New nie zawiera żadnych liter, które istnieją w oryginale? (Nawet prosty przykład, taki jak "S" => "r" i "ra" => "#", doprowadziłby już do pytania, czy "Sandra" musi stać się "rand #" lub "# nd #".) –