mysqlmen
6.02.2012, 12:01:51
Hej. Chcę pobrać z bazy zapytanie, a warunkiem ma być 7 dat które podam. Nie dam and, bo jeśli jakieś nie będzie to nic nie wyświetl, a także nie dam OR bo jak znajdzie jakąś to resztę ominie. Dzięki.
Kshyhoo
6.02.2012, 12:04:48
Pokaż, co do tej pory zrobiłeś.
mysqlmen
6.02.2012, 12:08:44
Co mam pokazać? Mam tablice 7 elemtnową z 7 datami i chce pobrać każdy rekord w którym dane pole równa się jednemu z tych w tablicy.
Kshyhoo
6.02.2012, 12:11:43
Pokaż strukturę tabel i zapytanie, które już zrobiłeś (z którym masz problemy). Na tym forum pomagamy a nie robimy za kogoś (chyba, że w dziale "giełda" za $).
mysqlmen
6.02.2012, 12:25:57
Ty mnie chyba nie rozumiesz.

Pytam się tylko jak dać parę warunków!
WYŚWIETL TYLKO TE REKORDY W KTÓRYCH KOMÓRKA DATA RÓWNA SIĘ: data[1], data[2], data[3], data[4], data[5], data[6], data[7]
SELECT * form komorka WHERE data=?
nospor
6.02.2012, 12:44:54
Cytat
a także nie dam OR bo jak znajdzie jakąś to resztę ominie.
a niby od kiedy coś omija dla OR? Jak znajdzie rekord dla pierwszego or, to juz dla tego rekordu dalej nie sprawdza - logiczne. Ale inne rekordy jak najbardziej będzie sprawdzał
mysqlmen
6.02.2012, 13:05:23
data[1] OR data[2] OR data[3] OR data[4].
To jak znajdzie data[1], to reszte oleje. A ja chcę zrobić tak żeby wyszukało wszystkie rekordy w którym jest data[1], data[2],data[3],data[4].
-mysql-
6.02.2012, 13:07:52
Z tym że może np nie znaleźć data[3], a jak nie znajdzie żadnego rekordu z taką datą, to reszty też nie wyświetli mimo że będą jeśli dam and.
d3ut3r
6.02.2012, 13:13:25
przeczytaj raz jeszcze o warunkach logicznych z naciskiem na warunek OR w wolnym tłumaczeniu zapytanie ma wyglądać tak:
wyświetl wszystkie rekordy gdzie data to data[1] lub data[2] lub itd.
i teraz jeżeli znajdzie którąkolwiek z tych dat to wyświetli ją na liście wyników.
Czyli bierze pierwszy rekord sprawdza warunek 1 jeżeli jest prawdziwy to zwraca wynik i idzie do następnego rekordu sprawdzać, jeżeli nie jest prawdziwy to sprawdza drugi warunek itd. jeżeli którykolwiek warunek będzie prawdziwy to taki rekord będzie spełniał kryteria i znajdzie się na liście wyników, jeżeli żaden warunek nie będzie prawdziwy to rekordu w wynikach nie będzie.
W mysql mamy jeszcze IN gdzie możesz podać zbiór konkretnych elementów które mają pasować.
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.