Lozano23 [ Centurion ]
Pomoc z zapytaniem MS SQL 2005
Sprawa wygląda tak. Chcę wyszukać w bazie danych rekordy po:
- nazwie użytkownika
- po treści tytułu rekordu
Używam procedury składowej.
Teraz użytkownik może wprowadzić tylko nazwę użytkownika, tylko szukany tekst albo i to, i to.
Nie wiem jak podejść to od strony technicznej. Czy mam napisać warunek w procedurze i dla każdego warunku osobny select robić, czy da się to jakoś sprytniej zrobić?
Moje - zapewne niepoprawne/na około - rozwiązanie:
- wprowadzamy parametry @author, @search_text
- sprawdzamy czy @auhor <> NULL i @search_text = NULL
----odpowiednie zapytanie
- sprawdzamy czy @author = NULL i @search_text <> NULL
----odpowiednie zapytanie
- sprawdzamy czy @author i @search_text <> NULL
Może jakoś można to sprytniej obejść?
Dziękuję serdecznie za pomoc :)
Hansvonb [ Konsul ]
A nie wystarczy:
select *
from tabela
where author = @par1 or search_text = @par2
ważne jest tylko aby przekazane do SQLa parametry miały właściwą wartość albo NULL
Lozano23 [ Centurion ]
Tylko wtedy, gdy np. wprowadzę autora oraz szukany tekst, to dostaję rekordy z szukanym tekstem, ale wszystkich autorów
Hansvonb [ Konsul ]
Oczywiście.
Pytanie co chcesz znaleźć ?
Lozano23 [ Centurion ]
Coś takiego chcę zrobić jak wyszukiwarka tutaj na forum.
1. Wprowadzasz autora - wyświetla wszystko autora
2. Wprowadzasz tekst - wyświetla rekordy z tekstem
3. Wprowadzasz to i to - wyświetla rekordy z tekstem użytkownika
Lozano23 [ Centurion ]
^
Lozano23 [ Centurion ]
^