Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Długie zapytanie SQL
ahold
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 27.05.2009

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


Witam,

Mam pewien problem, potrzebuję wydać do serwera SQL za "jednym zamachem" bardzo długoe zapytanie.

Może mieć od 20 - 50 (!sic) parametrów.

Na szczęscie porównywane dane są w 100 % statyczne.

przykład: wyświetl materiały gdzie tytul jest równy "ala ma kota a kot ma ale" .

ma więc zostać wykonane takie coś:
  1. <?php
  2. SELECT xxx from tabela where tytul='ala' OR tytul='ma' OR tytul='kota' OR tytul='a' OR (....)  i tak do ko&#324;ca.
  3. ?>

Przy 50 "ORach" , serwer sqł się wyłożył i uciął w połowie moje zapytanie.
phpMyAdmin pokazał to samo (...) i zignorował resztę która była mniej więcej od połowy.

Pytanie teraz co zrobić.

Próbowałem użyć komendy

  1. <?php
  2. SELECT *, MATCH(tytul) AGAINST ('ala ma kota a kot ma ale') AS wartosc
  3. ?>

Ale, np tekst w stylu kota, był wykrywany przez np kotsa, ktosa, posia, zosia.
Wiadomo że miał inną "wartość" ale nie było jednoznaczne.

W tym wypadku muszę mieć 100 % pewność że wartość się zgadza.

Mogę zrobić to w pętli PHP, ale wysłanie 50 zapytań do serwera bazodanowego pod rząd z tekstem where xxx='xx' end zapytania, obliczenie rezultatu, kolejne zapytanie (...) - w prostej linii spowoduję utratę pracy.- I cachowanie nie pomoże smile.gif



Ewentualnie może Macie jakąś koncepcję, to podam co chce osiągnąć.

Mamy dwa miasta
"poznań", "wrocław".

(nazwa pola = miasto)
teraz mamy pole tytulu
nazwa pola = tytul

i muszę wydrukować z serwera

powtarzające się rezultaty dla 2 miast.

Moja koncepcja zakładała by pobrać napierw jedno miasto, poznań - zrobić listę TOP 50 nazw tytułów " or tytul1 or tytul 2 "

nastepnie zadać to zapytanie dopisujac WHERE miasto=wroclaw, i dostanę listę ile z tych tytułów powtarza się we wrocławiu.

Może dało by się to zrobić na poziomie jednego zapytania SQL.


dokładnie to chcę osiągnąć:


Muszę wydrukowac listę materiałów które sa z "poznania" i "wroclawia" oraz zawierające taki sam tytuł.

Ten post edytował ahold 10.07.2009, 22:22:31
Powód edycji: [erix] się robi
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 02:50