Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak sformulowac zapytanie select ?
Forum PHP.pl > Forum > Bazy danych
fido20
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
nie wiem czy zrozumialem:
[sql:1:e8bdee8f12]SELECT COUNT(*) AS suma FROM tabela WHERE edycja='12' OR edycja='01'[/sql:1:e8bdee8f12]
fido20
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
[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
Wielkie dzieki wlasnie o to m i chodzilo smile.gif
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.