Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Warunek dla nietypowego złączenia tabel
kiciafu
post
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 11.05.2010

Ostrzeżenie: (0%)
-----


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 ;/.


Go to the top of the page
+Quote Post
droslaw
post
Post #2





Grupa: Zarejestrowani
Postów: 98
Pomógł: 33
Dołączył: 10.05.2011
Skąd: Krak

Ostrzeżenie: (0%)
-----


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)
Go to the top of the page
+Quote Post
kiciafu
post
Post #3





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 11.05.2010

Ostrzeżenie: (0%)
-----


Faktycznie banał, przekombinowałem z tym subselectem, dzięki droslaw za pomoc
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 00:22