![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 19.10.2004 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli ktoś jest zainteresowany optymalizacją zapytania to proszę o pomoc.
Co to jest? Baza providerów, operujących na terenie miast i poszczególnych ulic. Dane: $province_id - identyfikator województwa $provider_id - identyfikator dostawcy Tablica miast (cities) z polami:
Dla podanego providera znaleźć miasta w których dostarcza on usługi. Pola:
Zapytanie: Zmienna $regexp jest ustawiana następująco:
No i samo zapytanie
EDIT: Dołączam rozwiązanie w php
Ten post edytował ShaXbee 9.12.2004, 22:50:04 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Kod SELECT *, IF( providers REGEXP '$regexp' , 1, 0 ) AS provider, IF( sub_providers REGEXP '$regexp' , 1, 0 ) AS sub_provider FROM cities WHERE province_id=$province_id AND ( ( providers REGEXP '$regexp' AND sub_providers NOT REGEXP '$regexp' ) or ( providers NOT REGEXP '$regexp' AND sub_providers REGEXP '$regexp' ) or ( providers REGEXP '$regexp' AND sub_providers REGEXP '$regexp' ) ) ORDER BY name Tylko musisz się zastanowić, czy w tym zapytaniu potrzebne jest takie dokładne uwarunkowywanie w WHERE (oczywiście moga być jakieś literówki (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 12:19 |