![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 7.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
SELECT * FROM tabela1
WHERE opcja1='1' and opcja2 = (SELECT opcja2 from tabela2 WHERE id = 3) Mam takie zapytanie w bazie danych gdzie pobieram dane z tabeli 1 filtrując je przez opcja 1 i opcja 2. Opcja 2 jest pobierana z innej tabeli (tabela2). Moje pytanie jest następujące: jak wykonać zapytanie aby czasami warunek 'opcja2 = (SELECT opcja2 from tabela2 WHERE id = 3)' był pomijany (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Ponieważ przez opcje 1 dane muszą być filtrowane, ale przez opcje 2 nie bedą filtrowane kiedy opcja2 przyjmie wartość 'all' lub 'NULL' (obojętnie) opcja 2 = 'all' - dane nie są filtrowane przez opcja2 opcja 2 = 'A1' - dane są filtrowane przez opcja2 opcja 2 = 'A2' - dane są filtrowane przez opcja2 .... idt Mój problem polega na tym, że nie wiem jak napisac takie zapytanie aby czasami filtracja przez opcja2 było pomijane. Najlepiej chciałbym to uzyskać w jednym zapytaniu:) Ten post edytował island 13.11.2008, 12:20:45 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 2 Dołączył: 12.03.2008 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
hmmm...czy da sie w jednym zapytaniu to watpie (popatrz na składnie...niby jak?) ale moge sie mylic.
Cytat W rezultacie generuje 2 zapytania do bazy danych i dodatkowo funkcja IF. Chciałbym się dowiedzieć czy mogę to samo uzsykać za pomocą jednego zapytania sql. tak czy inaczej, oczywiscie zalezy jak na to patrzec, masz 2 zapytania, tyle ze w jednym (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) nie wiem jakiej bazy uzywasz i dlaczego zalezy Ci na jednym zapytaniu. mozesz to zarobic uzywajac procedur w bazie, w tedy z interfejsu generujesz jedno "zapytanie" do bazy, a wspomnia procedura zajmuje sie "generowaniem" zapytan (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował wujko_thc 13.11.2008, 12:49:21 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 15:45 |