Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Warunek dla nietypowego złączenia tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
kiciafu
Witam,

Mam problem jak wykonać złączenie dwóch tabel na podstawie zgodności pierwszego i ostatniego znaku. Dla zobrazowania sytuacji podam przykład:

TABALA_1:

ID INT
NAZWA VARCHAR


TABELA_2:

ID INT
NAZWA VARCHAR

W warunku WHERE nie mogę podać TABELA_1.NAZWA = TABELA_2.NAZWA bo to mi złączy na podstawie identyczności pól, a mi zależy na połączeniu gdzie jest zgodność pierwszego oraz ostatniego znaku. Próbowałem kombinacji z SELECT SUBSTRING, podzapytaniem wyciągam okreśony znak i porównuje z treścią drugiego podzapytania ale takie coś nie dziala (wyskakuje że subselect wyrzuca więcej niż jeden wiersz i nie chce połączyć), wydawało mi się że będzie łatwo ale nic z tego ;/.


droslaw
Nie musisz robić żadnych podzapytań.
Łączysz dwie tabele, a w warunku złączenia za pomocą funkcji SUBSTRING sprawdzasz czy odpowiednie litery są takie same.
Warunek powinien wyglądać tak:
  1. WHERE SUBSTRING(tabela1.nazwa,1,1) = SUBSTRING(tabela2.nazwa,1,1) AND SUBSTRING(tabela1.nazwa,-1,1) = SUBSTRING(tabela2.nazwa,-1,1)
kiciafu
Faktycznie banał, przekombinowałem z tym subselectem, dzięki droslaw za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.