Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

count group by ne vraca nista ako je count 0

[es] :: MySQL :: count group by ne vraca nista ako je count 0

[ Pregleda: 1760 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dule_ns
Novi Sad

Član broj: 123863
Poruke: 257
*.adsl.eunet.rs.



+690 Profil

icon count group by ne vraca nista ako je count 018.01.2011. u 21:09 - pre 161 meseci
Tabele

CREATE TABLE IF NOT EXISTS `estado`.`ovca` (
`id` INT NOT NULL AUTO_INCREMENT ,
`naziv` VARCHAR(45) NOT NULL ,
`datum_rodjenja` DATETIME NULL ,
`boks_id` INT NOT NULL ,
`rasa` VARCHAR(3) NULL ,
`pol` VARCHAR(1) NULL ,
PRIMARY KEY (`id`) ,
INDEX `fk_ovca_boks1` (`boks_id` ASC) ,
CONSTRAINT `fk_ovca_boks1`
FOREIGN KEY (`boks_id` )
REFERENCES `estado`.`boks` (`id` )
ON DELETE RESTRICT
ON UPDATE RESTRICT)
ENGINE = InnoDB

CREATE TABLE IF NOT EXISTS `estado`.`boks` (
`id` INT NOT NULL AUTO_INCREMENT ,
`naziv` VARCHAR(45) NOT NULL ,
`stala_id` INT NOT NULL ,
PRIMARY KEY (`id`) ,
INDEX `fk_boks_stala` (`stala_id` ASC) ,
CONSTRAINT `fk_boks_stala`
FOREIGN KEY (`stala_id` )
REFERENCES `estado`.`stala` (`id` )
ON DELETE RESTRICT
ON UPDATE RESTRICT)
ENGINE = InnoDB

CREATE TABLE IF NOT EXISTS `estado`.`stala` (
`id` INT NOT NULL AUTO_INCREMENT ,
`naziv` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`id`) )
ENGINE = InnoDB


Upit

select b.id as boks , count(o.id) as broj from `estado`.`ovca` o, `estado`.`boks` b
where o.boks_id = b.id
and b.stala_id = 4
group by b.id

Kada postavim upit da mi vrati broj ovaca po boksu on vrati samo za one boksove kod kojih broj nije nula. Meni trebaju svi.

Unapred zahvalan.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: count group by ne vraca nista ako je count 018.01.2011. u 22:40 - pre 161 meseci
left join .. dakle nesto tipa

Code:

select   b.id as boks , count(o.id) as broj from 
  `estado`.`ovca` o left join `estado`.`boks` b on o.boks_id = b.id
where   b.stala_id = 4 group by  b.id

 
Odgovor na temu

dule_ns
Novi Sad

Član broj: 123863
Poruke: 257
194.247.212.*



+690 Profil

icon Re: count group by ne vraca nista ako je count 019.01.2011. u 11:32 - pre 161 meseci
Radi.

Samo mala izmena zamene se tabele ovca i boks znači:

Code:

select   b.id as boks , count(o.id) as broj from 
  `estado`.`boks` b left join `estado`.`ovca` o on o.boks_id = b.id
where   b.stala_id = 4 group by  b.id


Hvala puno.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: count group by ne vraca nista ako je count 019.01.2011. u 12:05 - pre 161 meseci
stado, ovca .. koja razlika :D ... bitno samo da koristis LEFT join da bi uvatio te bez vrednosti ..
 
Odgovor na temu

[es] :: MySQL :: count group by ne vraca nista ako je count 0

[ Pregleda: 1760 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.