Mam jedno pole wyszukiwania, które chciałbym przeszukać 6 kolumn w mojej bazie danych szkół po wprowadzeniu danych. Do tej pory pole wyszukiwania przeszukuje tylko pole nazwy i zwraca dopasowanie dla dokładnych lub częściowych danych wejściowych.przeszukiwanie wielu kolumn za pomocą co najmniej jednego słowa kluczowego przy użyciu sql
Chciałbym wyszukać konkretne miasto i wyświetlić wszystkie wyniki z kolumn nazw i ORAZ miasta (zamiast tylko kolumny nazwy) i tak dalej.
Załóżmy, że chcę wyszukać z kodem pocztowym, chciałbym aby wszystkie aukcje były szkołami w tym kodzie pocztowym. I na koniec, jeśli wprowadzę 2 słowa (na przykład penn Philadelphia), chciałbym, aby wszystkie szkoły w Penn pokazały, że są tylko w kolumnie nazwa I kolumna miasta. (nie tylko wszystkie penns w nazwie lub każdej szkole w Filadelfii) i tak dalej. Może to być elementarne pytanie w tej sprawie, ale szukam dni bez powodzenia. Być może lepsze wykorzystanie symboli wieloznacznych i klauzul "OR" "OR" przyniosłoby mi korzyść.
Czy ktoś może mi pomóc sformułować kwerendę sql, aby to osiągnąć?
to, co mam do tej pory:
SELECT * FROM schools
WHERE (name='%name%' OR address='%name%' OR city='%name%'OR zip='%name%')
można korzystać z wielu metod: na przykład mieć "Penna" i "Filadelfia" można zrobić: 'SELECT * FROM szkół WHERE name = 'Penn' AND city = 'Filadelfia' ; 'możesz połączyć kilka warunków razem. Inne podejście: SELECT * FROM school s1, school s2 JOIN ON s1.name = s2.name WHERE s1.name = 'penn' AND s1.city = 'philadelphia'; 'tutaj możesz także użyć wielu złącz nie idź dzika z nim, ale posiadanie dobrego indeksu pomaga temu drugiemu solidnemu – Hamed
Istnieje również inne podejście, w którym możesz użyć kilku zagnieżdżonych SELEKTÓW (niezalecanych), tak jak ty: 'WYBIERZ * ZE SZKOŁY, GDZIE (WYBIERZ * ZE SZKÓŁ, GDZIE nazwa = ' penn ') AS s1 AND city =' philadelphia '; '. Nie zagłębiaj się w to zbyt głęboko, bo byłoby nieprzyjemnie. Wybierz to, co pasuje najlepiej – Hamed
@RyanVincent dobrze to nie jest prawdziwa odpowiedź bardziej jak kilka wskazówek – Hamed