fido20
10.01.2004, 13:12:16
Dla mojego skryptu musze wyciagnac z bazy danych nastepujace informacje mniej wiecej w takim formacie: Policz wszystkie rekordy gdzie edycja = 12 i edycja = 01. Niestety po wielu probach z kombinacjami and , or itp nie udalo mi sie "zmusic" bazy danych by podala mi prawidlowa liczbe takich wpisow. Obecnie uzylem dwoch roznoch zapytani SELECT z ktorych jedno liczy rekordy gdy edycja =12 a drugi gdy 01 i wtedy to sumuje. Jednak chcialbym zminimalizowac liczbe odwolan do bazy danych dlatego tez chcialbym aby to bylo w jedny zapytaniu. Moze ktos wie jak to zrobic ?
kicaj
10.01.2004, 13:16:08
nie wiem czy zrozumialem:
[sql:1:e8bdee8f12]SELECT COUNT(*) AS suma FROM tabela WHERE edycja='12' OR edycja='01'[/sql:1:e8bdee8f12]
fido20
11.01.2004, 09:00:09
Oki gra, tylko jeszcze jedna prosba jak do tego dodac zeby zliczalo to dla konkretnej osoby, jak robie:
[sql:1:cf72923c7b]
SELECT COUNT(*) AS suma
FROM typy
WHERE user='ktos' and edycja='12' or edycja='01';
[/sql:1:cf72923c7b]
Wychodzi mi bledny wynik , jak daje tak:
[sql:1:cf72923c7b]
SELECT COUNT(*) AS suma
FROM typy
WHERE edycja='12' or edycja='01' and user='ktos';
[/sql:1:cf72923c7b]
Pokazuje mi tez inna liczbe ale nadal bledna . Gdzie dodac ten warunek zeby bylo dobrze ?
FiDO
11.01.2004, 12:17:17
[sql:1:c059a00220]SELECT COUNT(*) AS suma
FROM typy
WHERE user='ktos' AND (edycja='12' OR edycja='01');[/sql:1:c059a00220]
AND ma wyzszy priorytet niz OR, wiec Twoje zapytanie mialo w rzeczywistosci warunek WHERE (user='ktos' AND edycja='12') OR edycja='01'
Chyba widzisz roznice?
fido20
13.01.2004, 20:40:38
Wielkie dzieki wlasnie o to m i chodzilo
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.