Jakub Gruszczyński

Jakub Gruszczyński badania, analizy,
insighty

Temat: Łączenie dwóch baz

Witam serdecznie mam problem, który wydaje mi się być dość prosty, a nie bardzo potrafię sobie poradzić z przeskoczeniem go.

Mam Dwie Tabele
1. Miasta, gdzie znajduje się lista miejscowości ze skrótowcami np.:
Mińsk Maz.
Kamień Pomor.


2. Translator, w którym znajdują się dwa pola: Skrót i Rozwinięcie:

Maz. | Mazowiecki
Maz. | Mazowiecka
Maz. | Mazowieckie
Pomor. | Pomorski
Pomor. | Pomorska
Pomor. | Pomorskie

Chcę w wyniku działania kwerendy otrzymać:

Mińsk Mazowiecki
Mińsk Mazowiecka
Mińsk Mazowieckie
Kamień Pomorski
Kamień Pomorska
Kamień Pomorskie

Będę wdzięczny za pomoc.
Jacek Dzwonkowski

Jacek Dzwonkowski Informatyk, Bazy
danych, OEE

Temat: Łączenie dwóch baz

heheh dziwny układ tabel ale ok już tłumacze jak to zrobić:

Jeżeli w tabeli "Miasta" jest tylko jedna kolumna to musisz ją rozdzielić na dwie kolumny. Nie wiem jak. Może należy zbadać którym znakiem jest spacja (znajdź funkcję)a następnie funkcją tekstową "Rigt" i "left" pokazać wszystko przed spacją a wdrugiej kolumnie za spacją.
Wtedy uzyskasz przez funkcje "Rigt", wspólną kolumnę z tabelą "Translator" i te dwa pola połączysz razem relacją kwerendzie.

W danej kwerendzie wystarczy złączyć pożądane kolumny jedną z jednej tabeli i drugą z drugiej.
np:
Wynik: [Miasta]![nazwa_kolumny]&" "$[Translator]![nazwa_kolumny]
Jakub Gruszczyński

Jakub Gruszczyński badania, analizy,
insighty

Temat: Łączenie dwóch baz

Pomysł niezły, aczkolwiek absolutnie nie wykonalny. To co podałem to tylko przykłady. Mam listę wszystkich miast w Polsce ze skrótami, i słownik skrótów.

Więc zdarzać się będą wpisy:
Nowe Miasto n/ Notecią

A w słowniku mam
n/ | nad

Więc nie da się ustalić z góry liczby spacji i tego, które słowo ma być podmieniane. Trzeba jakoś wyszukiwać tekstu w rekordzie.Jakub Gruszczyński edytował(a) ten post dnia 27.06.08 o godzinie 14:06
Jacek Dzwonkowski

Jacek Dzwonkowski Informatyk, Bazy
danych, OEE

Temat: Łączenie dwóch baz

no to w takiej sytuacji masz problem :(
te słowniki są źle zaprojektowane. Powinieneś używać ID. Chyba że już na takie coś wlazłeś a kto inny to tworzył.
Aby to złączyć musisz znaleźć relacje a jej brak :(
Agnieszka Dudzińska

Agnieszka Dudzińska E-mail Marketing
Channel Manager at
AdPilot

Temat: Łączenie dwóch baz

Aktualizacja bazy po kryterium slownika?
Jakub Gruszczyński

Jakub Gruszczyński badania, analizy,
insighty

Temat: Łączenie dwóch baz

Co dokładnie masz na myśli mówiąc o aktualizacji po kryterium? Skrót Maz. może mieć 3 znaczenia, więc chcę zrobić 2 nowe rekordy.

Było: Mińsk Maz.

Ma być:
Mińsk Mazowiecki
Mińsk Mazowiecka
Mińsk Mazowieckie
Jacek Dzwonkowski

Jacek Dzwonkowski Informatyk, Bazy
danych, OEE

Temat: Łączenie dwóch baz

więc musisz sobie zrobić trzecią tabelę ze słownikiem. tych połączyć nie da rady !

Niby skąd ma wiedzieć czy "Mińsk Maz." to "Mińsk Mazowiecki" albo "Mińsk Mazowiecka" ?? Z nieba? czy ma wziąć pierwszy z listy?

Przemyśl to czego ty oczekujesz

http://www.goldenline.pl/forum/bazy-danych/356894
Tu masz podobny temat który dotyczy twojego problemu czyli podzielenia pola tekstowego na dwie kolumny. Poczytaj jakie to trudne. Jak znajdziesz kryterium według jakiego to zrobić to ok, ale daleś przykłada że masz rózne przypadki jak 2 czy trzy spacje więc polecam ręczne klepanie :(Jacek Dzwonkowski edytował(a) ten post dnia 27.06.08 o godzinie 16:34
Jakub Gruszczyński

Jakub Gruszczyński badania, analizy,
insighty

Temat: Łączenie dwóch baz

Chyba jednak ni do końca się dogadujemy - znaczy ja sie nie jasno wyrażam :).

Nie chodzi mi wcale o to żeby stwierdził, czy to jest Mińsk Mazowiecki, czy Mińsk Mazowiecka - chodzi mi o to, żeby stworzył nowe wpisy

Spróbuję schemacik zrobić:

Mińsk Maz. ->
-> Mińsk Mazowiecki
-> Mińsk Mazowiecka
-> Mińsk Mazowieckie

Co więcej słownik wyjaśniający wszystkie skrótowce już mam. Więc tak naprawdę sprawa rozbija się o wyszukanie tekstu z jednej tabli w polu drugiej tabeli. Coś takiego co robi funkcja Like w MS Access. Tylko, że ta funkcja nie potrafi (albo ja nie potrafię jej kazać) wyszukiwać danych znajdujących się gdzieś. Ale jeśli "ręcznie" wpisałem Like Maz. , a później połączyłem to ze słownikiem to efekt działania był taki jak powinien. Chodzi mi tylko o zautomatyzowanie tego procesu, by nie robić tego ręcznie z każdym z 80 czy 100 skrótów, które mam w tabeli.Jakub Gruszczyński edytował(a) ten post dnia 30.06.08 o godzinie 09:43
Łukasz P.

Łukasz P. PMP, Specjalista IT

Temat: Łączenie dwóch baz

Może tak?
SELECT replace(tabMiasta.Nazwa, tabSkroty.skrot, tabSkroty.rozwiniecie) FROM tabMiasta RIGHT JOIN tabSkroty ON tabMiasta.Nazwa LIKE '*' & tabSkroty.skrot & '*';
Jakub Gruszczyński

Jakub Gruszczyński badania, analizy,
insighty

Temat: Łączenie dwóch baz

Prawie :), do pełnego sukcesu baruje nam jeszcze tego, by rekordy, które nie zawierają żadnych skrótów pozostały nie zmienione. W obecnej formie są pomijane.

Pozdrawiam i bardzo dziękuję za wielką pomoc



Wyślij zaproszenie do