znowu mam problem

otóż wyszukiwarka na mojej stronie zapisuje wyniki do sesji i wyświetla je potem za pomocą funkcji GET.
W wyszukiwarce mam możliwość szukania m.in. po nazwie miejscowości.
Na stronie mam mniej i bardziej znane miasta. Te mniej znane niekiedy leżą w pobliżu większych, ale ich nazwy nikt nie kojarzy, dlatego nikt ich nie będzie szukał.
Dlatego właśnie stworzyłem osobną kolumnę w bazie, aby użytkownik mógł przypisać swojej mniejszej miejscowości,
sąsiedztwo tej dużej. Dzięki temu, szukając ofert z większej miejscowości, w wynikach znajdą się też te w jej pobliżu.
Problem mam taki, że jak przypiszę jedną kolumnę pod sesje z nazwą miasta to wszystko gra ale dwóch już nie da rady...
To jest to co działa czyli kolumna "miasto" podpięta pod sesje "miasto_sesja"
$zapytanie = "SELECT * FROM `oferty` WHERE "; if(!empty($_SESSION['miasto_sesja'])) $zapytanie.= "miasto LIKE '%".$_SESSION['miasto_sesja']."%' AND ";
A tu uskuteczniałem mniej udaną "radosną twórczość"
próbowałem tak:
$zapytanie = "SELECT * FROM `oferty` WHERE "; if(!empty($_SESSION['miasto_sesja'])) $zapytanie.= "miasto OR miasto2 WHERE miasto2 = miasto LIKE '%".$_SESSION['miasto_sesja']."%' AND ";
i tak:
$zapytanie = "SELECT * FROM `oferty` WHERE "; if(!empty($_SESSION['miasto_sesja'])) $zapytanie.= "miasto AND miasto2 LIKE '%".$_SESSION['miasto_sesja']."%' AND ";
I parę innych, "jeszcze bardziej mniej" sensownych prób, o których nie wspomnę bo się wstydzę

Niestety wymyśliłem sobie, że jest mi to niezbędne, i nie zasnę dopóki nie będzie działać... dlatego wołam o pomoc
Pozdrawiam