Grzegorz M.

Grzegorz M. www.avatec.pl

Temat: COUNT ma zwrócić również 0

Witam,

Zrobiłem takie zapytanie:
SELECT count(b.vid), b.vident, a.* FROM items AS a, orders as b WHERE (a.item_ident=b.vident AND b.vstatus!='NEW') AND a.item_start_date<='2011-11-14' AND a.item_end_date>='2011-11-14' GROUP BY(b.vident) HAVING count(b.vid)

jednak, nie zwraca mi wartości, dla których count(b.vid) = 0 - czyli nie ma nic.

Kombinowałem z ifnull ale nie działa wogóle nic :( Jak zmusić to zapytanie, by uwzględniało w liście również items dla których count z v.vid będzie 0 ?
Grzegorz M.

Grzegorz M. www.avatec.pl

Temat: COUNT ma zwrócić również 0

to jest wspaniałe :-) zawsze jak zadam gdzieś pytanie, znajduje odpowiedź :-)

SELECT count( b.vid ) as num_selled , a . *
FROM items AS a
LEFT JOIN orders AS b ON ( a.item_ident = b.vident
AND b.vstatus != 'NEW' )
WHERE a.item_start_date <= '2011-11-14'
AND a.item_end_date >= '2011-11-14'
GROUP BY (b.vident) ORDER BY a.item_end_date;

temat nieaktualny :-) wpis dla potomych :-)
Marcin Miga

Marcin Miga Programista. Po
prostu programista.

Temat: COUNT ma zwrócić również 0

Wniosek nasuwa się sam:
tabele ZAWSZE łączymy przez JOIN.

A wracając do Twojego zapytania, tylko głupi MySQL dopuści do a.*, Count(...) bez grupowania po a.*Marcin Miga edytował(a) ten post dnia 14.11.11 o godzinie 08:28
Michał Jarosz

Michał Jarosz Frontend Developer &
Team Leader

Temat: COUNT ma zwrócić również 0

Poprawka: tylko głupio sonfigurowany, lub stary(<4.0.0) MySQL dopuści taką konstrukcję.

http://dev.mysql.com/doc/refman/5.5/en/server-sql-mode...Michał Jarosz edytował(a) ten post dnia 16.11.11 o godzinie 13:26

Następna dyskusja:

Count zwracanie zera nie null




Wyślij zaproszenie do