SELECT nazwy.id_dok id_n, nazwy.nazwa, 60 AS pkt_nazwa, dok_opisy.id_dok id_o, dok_opisy.opis, 40 AS pkt_opis FROM nazwy, opisy WHERE nazwy.nazwa LIKE "%'.$szukaj.'%" AND opisy.opis LIKE "%'.$szukaj.'%"
Chodzi o to ze chce pobrac rekordy gdzie
z tabeli 'nazwy' pole 'nazwa' pasuje do zmiennej $szukaj
z tabeli 'opisy' pole 'opis' pasuje do zmiennej $szukaj
Jezeli dodam warunek
nazwy.id_dok=opisy.id_dok
Nie zostana pobrane rekordy ktore:
zawieraja tylko w polu nazwa szukane slowo ale w opisie ich juz nie ma
zawieraja tylko w opisie szukane slowo ale w nazwie ich juz nie ma
Na koniec chce zsumowac pkt_nazwa + pkt_opis w ten sposob i posortowac sumy malejaco:
Jezeli pola nazwa i w opis zawieraja szukane slowo zeby suma wynosila 60 + 40 =100
Jezeli tylko pole nazwa zawiera szukane slowo suma wynosila 60 + 0 = 60
Jezeli tylko pole opis zawiera szukane slowo suma wynosila 0 + 40 = 40
Tak wygladaja tabele
nazwy:
id_dok | nazwa
-------------------------
1 |zielony
2 |czerwony
3 |niebieski
4 |zolty
opisy:
id_dok | opis
-------------------------
1 |kolor zielony jest cieply
2 |to kolor goracy
3 |niebieski jest kolorem zimnym, nie tak jak zielony
4 |zolty to kolor slonecznikow
Zalozmy ze szukamy slowa: 'zielony'
Chce otrzymac taki wynik
id_dok | pkt | nazwa | opis
---------------------------------------------------------------------------
1 | 100 | zielony | kolor zielony jest cieply
3 | 40 | niebieski | niebieski jest kolorem zimnym, nie tak jak zielony
Jak skonstruowac takie zapytanie do mysqla lub wspomoc sie ewentualnie php zeby uzyskiwac takie wyniki