Michał Płonka Programista PHP
Temat: Mniej warunków w WHERE i pusty zbiór wynikowy.
Witam,mam pewien problem, z którym nie potrafię sobie poradzić. Mam takie zapytanie SQL:
SELECT CAST(biddings.bought_at AS DATE) AS date, MIN(auctions.start_price) AS min_start_price, AVG(auctions.start_price) AS avg_start_price, MAX(auctions.start_price) AS max_start_price, MIN(biddings.price) AS min_price, AVG(biddings.price) AS avg_price, MAX(biddings.price) AS max_price
FROM biddings
JOIN "auctions" ON ("biddings"."auction_id" = "auctions"."id")
JOIN "auctions_categories" ON ("auctions_categories"."auction_id" = "auctions"."id")
WHERE "biddings"."bought_at" >= '2010-12-01 00:00:00'
AND "biddings"."bought_at" <= '2011-02-16 23:59:59'
AND title_keywords @@ to_tsquery('public.polish', 'pancerka')
AND "auctions"."is_new" = 'f'
AND "auctions_categories"."category_id" = 19758
GROUP BY "date"
ORDER BY "date" ASC
Powyższe zapytanie zwraca mi dane, wszystko OK. Jest tam warunek:
AND "auctions"."is_new" = 'f'
który ogranicza dane tylko do tych oznaczonych jako używane.
Teraz w czym problem: jeśli usunę ten warunek, przez co zapytanie będzie postaci:
SELECT CAST(biddings.bought_at AS DATE) AS date, MIN(auctions.start_price) AS min_start_price, AVG(auctions.start_price) AS avg_start_price, MAX(auctions.start_price) AS max_start_price, MIN(biddings.price) AS min_price, AVG(biddings.price) AS avg_price, MAX(biddings.price) AS max_price
FROM biddings
JOIN "auctions" ON ("biddings"."auction_id" = "auctions"."id")
JOIN "auctions_categories" ON ("auctions_categories"."auction_id" = "auctions"."id")
WHERE "biddings"."bought_at" >= '2010-12-01 00:00:00'
AND "biddings"."bought_at" <= '2011-02-16 23:59:59'
AND title_keywords @@ to_tsquery('public.polish', 'pancerka')
AND "auctions_categories"."category_id" = 19758
GROUP BY "date"
ORDER BY "date" ASC
to w wyniku otrzymuję... pusty zbiór wynikowy. Jak na mój rozum, to powinienem otrzymać co najmniej to samo co przy pierwszym zapytaniu (dokładnie to samo, jeśli wszystkie dane byłyby z flagą is_new = 'f').
Spotkaliście się z czymś takim? Gdzie szukać problemu?
Pozdrawiam,
Michał
PS: PostgreSQL w wersji 8.3.13.Michał Płonka edytował(a) ten post dnia 26.02.11 o godzinie 09:12