Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie LIKIE między dwoma tabelami
Forum PHP.pl > Forum > Bazy danych
treewood
Mam problem bo nie chce mi działać zapytanie

Kod
tabela_1.nazwa_pola like '%tabela_2.nazwa_pola%'


a np. zapytanie

Kod
tabela_1.nazwa_pola like tabela_2.nazwa_pola


działa tylko, że zwraca taki sam wynik co
Kod
tabela_1.nazwa_pola = tabela_2.nazwa_pola


reasumująć wydaje mi się, że nie są pobierane dane z tabeli 2 gdy jest w znacznikach '%%'

nie wie ktoś jak to rozwiązać?
kurtz
Cytat
Mam problem bo nie chce mi działać zapytanie

Kod
tabela_1.nazwa_pola like '%tabela_2.nazwa_pola%'
i slusznie bo szuka stringa tabela_2....
Cytat
a np. zapytanie  

Kod
tabela_1.nazwa_pola like tabela_2.nazwa_pola


działa tylko, że zwraca taki sam wynik co  
Kod
tabela_1.nazwa_pola = tabela_2.nazwa_pola
tez prawidlowo - bo dziala tak samo jako kolumna like 'ala' - nigdzie nie ma % czy nawet ? wiec czemu ma do czegokolwiek matchowac?.. ;)

Cytat
reasumująć wydaje mi się, że nie są pobierane dane z tabeli 2 gdy jest w znacznikach '%%'
resumujac zle zupelnie o tym myslisz. po pierwsze po liek mamy regule podana w formie stringa - nie oczekuj wiec ze mysql bedzie sie domyslac czy przypadkiem nie podajesz tam kolumny. zadnego leksera do tego tam nie ma i gluptoka jest tego oczekiwac.

secundo: po co ci wyrazenia regularne skoro chcesz sprawdzic tylko podzawartosc kolumny? do tego mozesz spokojnie uzyc SUBSTRING.

http://www.mysql.com/doc/en/String_functions.html


pozdrawiam
treewood
juz sie dowiedzialem ... dziala to tak:

tabela1.pole like '%'+tabela2.pole+'%'
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.