1. Przetestowałem w Accesie:
Table_A to moja baza danych
Table_B to mój słowniczek skróconych nazw, które występują w długich nazwach.
SELECT Table_A.Full_name, Table_B.Short_name, Table_B.ID_firmy FROM Table_B RIGHT JOIN Table_A ON Table_A.Full_name Like "*"+Table_B.Short_name+"*";
2. Przetestowałem również w Excelu różne rozwiązania i ostatecznie otrzymałem podpowiedź na forum Altkom Pana Krzysztofa Rutkowskiego:
Słowniczek | |
Excomers | 1 |
Futuro | 2 |
Polexpo | 3 |
Baza zewnętrzna | Tutaj działa formuła |
Przedsiębiorstwo Handlu Polexpo. | 3 |
Dystrybutor - FUTURO PUH | 2 |
Excomers przedsiębiorstwo handlu | 1 |
Przeds. Futuro Sp. z o.o. | 2 |
Jan Kowalski Excomers. | 1 |
polexpo | 3 |
excomers | 1 |
={INDEX($D$6:$D$8;MATCH(FALSE;ISERROR(SEARCH($C$6:$C$8;C12));0))}
Uwaga, formuła tablicowa Ctrl+Shift+Enter
Uwaga, słowniczek należy posortować malejąco.
gdzie C12 to nazwa długa w Bazie
zaś w słowniczku szukamy: $C$6:$C$8 to nazwa krótka, w zakresie $D$6:$D$8 - ID firmy,. Jeśli zaś do przyporządkowania nie ma zbyt wielu krótszych nazw, w Accesie można użyć switch'a a w MS SQLu IN.
SELECT switch( Table1.Nazwa LIKE "*Vicryl PLUS*", "Vicryl PLUS", Table1.Nazwa LIKE "*Vicryl*" And Table1.Nazwa Not LIKE "*PLUS*" , "Vicryl", Table1.Nazwa LIKE "*Monocryl PLUS*", "Monocryl PLUS", true,"N/A" ), Table1.Nazwa, Table1.Wartość FROM Table1
Brak komentarzy:
Prześlij komentarz