Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwanie w danych
Forum PHP.pl > Forum > Bazy danych > MySQL
cursor81
Witam,
Mam takie select-y zeby wyszukiwac dane w bazie według podanych kryteriów np. podanie daty urodzenia i imienia wynikiem bedze wyswietlenie tych wszystkich imion które maja taka sama date urodzenia czyli cos w tym stylu
  1. IF (@txtNazwisko = '' AND @txtImie ='' AND @mskPesel='' AND @txtDataUrodzenia='' AND @txtUlicaLokal='' AND @cbGrupaKrwi='' AND @cbPlec!='')
  2. SELECT P.Nazwisko, P.Imiona, P.Pesel, P.DataUrodzenia, P.DataUrodzenia, P.MiejscowoscID, P.Adres, P.GrupaKrwi, P.Plec, P.NrUbezpieczenia
  3.  
  4. FROM tPacjent P
  5. WHERE P.Plec = @cbPlec
  6. ELSE
  7. IF (@txtNazwisko = '' AND @txtImie ='' AND @mskPesel='' AND @txtDataUrodzenia='' AND @txtUlicaLokal='' AND @cbGrupaKrwi!='' AND @cbPlec!='')
  8. SELECT P.Nazwisko, P.Imiona, P.Pesel, P.DataUrodzenia, P.DataUrodzenia, P.MiejscowoscID, P.Adres, P.GrupaKrwi, P.Plec, P.NrUbezpieczenia
  9.  
  10. FROM tPacjent P
  11. WHERE P.Plec = @cbPlec AND P.GrupaKrwi = @cbGrupaKrwi
  12. ELSE
  13. IF (@txtNazwisko = '' AND @txtImie ='' AND @mskPesel='' AND @txtDataUrodzenia='' AND @txtUlicaLokal!='' AND @cbGrupaKrwi='' AND @cbPlec!='')
  14. SELECT P.Nazwisko, P.Imiona, P.Pesel, P.DataUrodzenia, P.DataUrodzenia, P.MiejscowoscID, P.Adres, P.GrupaKrwi, P.Plec, P.NrUbezpieczenia
  15.  
  16. FROM tPacjent P
  17. WHERE P.Plec = @cbPlec AND P.Adres = @txtUlicaLokal
  18. ELSE
  19. IF (@txtNazwisko = '' AND @txtImie ='' AND @mskPesel='' AND @txtDataUrodzenia!='' AND @txtUlicaLokal='' AND @cbGrupaKrwi='' AND @cbPlec!='')
  20. SELECT P.Nazwisko, P.Imiona, P.Pesel, P.DataUrodzenia, P.DataUrodzenia, P.MiejscowoscID, P.Adres, P.GrupaKrwi, P.Plec, P.NrUbezpieczenia
  21.  
  22. FROM tPacjent P
  23. WHERE P.Plec = @cbPlec AND P.DataUrodzenia = @txtDataUrodzenia


czy ktos moze zna inny sposob w jaki to mozna rozwiazac. Przy duzej ilosci warunków i danych przy tym sposobie to chyba nie najlepiej bedzie funkcjonowac.
SongoQ
Wydaje mi sie ze z zapytaniem moga byc problemy, zaluzmy ze zapytanie rozbuduje sie o kolejne warunki co z tym pojdzie bedzie mialo wiecej znakow, wchodzi wtedy czas przeslania do serwera + dzialanie optymalizatora na takim zapytaniu, jesli bedzie duzo odwolan do bazy to mozna zajechac baze.

Ja bym wykorzystal php do generowania zapytania.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.