Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> nie typowe polaczenie tabel
gantel
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 26.04.2003
Skąd: Łańcut

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


  1. SELECT
  2. nazwy.id_dok id_n,
  3. nazwy.nazwa,
  4. 60 AS pkt_nazwa,
  5.  
  6. dok_opisy.id_dok id_o,
  7. dok_opisy.opis,
  8. 40 AS pkt_opis
  9.  
  10. FROM nazwy, opisy
  11.  
  12. 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
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.09.2025 - 22:42