Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapytanie w zapytaniu MSQL
Forum PHP.pl > Forum > Przedszkole
Leilang
Hej mam problem z zagnieżdżeniem pytań do bazy.

Aktualnie mam dwa osobne pytania, pierwszy wyszukuje konkretnego słowa w bazie:

  1.  
  2. $sql = "SELECT * FROM zlecenia WHERE material LIKE '%$selected_val%' or idzlecenia LIKE '%$selected_val%' or
  3. numerZlecenia LIKE '%$selected_val%' or data LIKE '%$selected_val%' or bokOut LIKE '%$selected_val%' or
  4. graficznyIn LIKE '%$selected_val%' or graficznyOut LIKE '%$selected_val%' or drukowalIn LIKE '%$selected_val%' or
  5. drukowalOut LIKE '%$selected_val%' or dtp LIKE '%$selected_val%' or halaIn LIKE '%$selected_val%' or
  6. halaOut LIKE '%$selected_val%' or zakłada LIKE '%$selected_val%'";
  7.  


Drugi szuka po konkretnym zakresie dat:

  1. $sql = "SELECT * FROM zlecenia WHERE data >= '".$selectedIN."' OR data <= '".$selectedOUT."' OR
  2. bokOut >= '".$selectedIN."' OR bokOut <= '".$selectedOUT."' OR
  3. graficznyIn >= '".$selectedIN."' OR graficznyIn <= '".$selectedOUT."' OR
  4. graficznyOut >= '".$selectedIN."' OR graficznyOut <= '".$selectedOUT."' OR
  5. drukarniaIn >= '".$selectedIN."' OR drukarniaIn <= '".$selectedOUT."' OR
  6. drukarniaOut >= '".$selectedIN."' OR drukarniaOut <= '".$selectedOUT."' OR
  7. halaIn >= '".$selectedIN."' OR halaIn <= '".$selectedOUT."' OR
  8. halaOut >= '".$selectedIN."' OR halaOut <= '".$selectedOUT."' ";



Osobno wszystko działa ale chciałbym je połączyć tak aby najpierw wyszukał mi wszystko po dacie (zapytanie nr 2) i z tego co zwróci wyszukał po zapytaniu nr 1.
Czytałem o zagnieżdżaniu jednego zapytania w drugim ale nie umiem sobie poradzić żeby to poprawnie zapisać..
trueblue
A czytałeś o operatorze AND?
SELECT .... WHERE warunki1 AND warunki2
Kolejność warunków nie ma znaczenia.
b4rt3kk
Ujmujesz w nawias wszystkie OR z zapytania nr 2, dodajesz AND, ujmujesz w nawias wszystkie OR z zapytania nr 1.

  1. SELECT * FROM TABLE WHERE (c1 = '1' OR c1 = '2') AND (c3 = '3' OR c4 = '4');
Leilang
Cytat(b4rt3kk @ 14.07.2018, 22:41:33 ) *
Ujmujesz w nawias wszystkie OR z zapytania nr 2, dodajesz AND, ujmujesz w nawias wszystkie OR z zapytania nr 1.

  1. SELECT * FROM TABLE WHERE (c1 = '1' OR c1 = '2') AND (c3 = '3' OR c4 = '4');



Właśnie tych nawiasów mi brakowało, dziękuje !
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.