Saper82
31.12.2018, 20:29:26
Witam
Przepraszam za nazwę tematu, ale nie bardzo wiem jak tak krótko opisać swój problem.
Opis wymyśliłem dla przykładu, ale idea taka sama.
Mam dwie tabele
Miasta
- id
- nazwaMiasta (Warszawa, Kielce, ..)
POSTY
- id
- trescPostu (Kielce są cudowne, Warszawa jest brzydka,...)
I teraz, jak wyświetlić tylko te posty, które zawierają w treści nazwę miasta używając tylko MySQL.
emillo91
31.12.2018, 23:00:48
To czego pewnie szukasz to operator Like
Saper82
1.01.2019, 10:41:24
Dobra, ale jak za LIKE dać dowolne słowo z tabeli?
trueblue
1.01.2019, 11:10:55
SELECT id,trescPostu FROM POSTY AS p, Miasta AS m
WHERE p
.trescPostu
REGEXP(CONCAT
('[[:<:]]',m
.nazwaMiasta
,'[[
:]]')
Niestety, ale podstawiają się ikonki. W drugim ma być:
[ [ : > : ] ]
bez żadnej spacji.
Tomplus
1.01.2019, 11:49:15
@trueblue
Wystarczy wyłączyć uśmieszki przed napisaniem posta -> patrz...
SELECT id,trescPostu FROM POSTY AS p, Miasta AS m
WHERE p.trescPostu REGEXP(CONCAT('[[:<:]]',m.nazwaMiasta,'[[:>:]]')