Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 2.612 pregleda

Najnovija ↓

count group by ne vraca nista ako je count 0 18.01.2011. u 22:09 · pre 192 meseca #1
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.
Re: count group by ne vraca nista ako je count 0 18.01.2011. u 23:40 · pre 192 meseca #2
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
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: count group by ne vraca nista ako je count 0 19.01.2011. u 12:32 · pre 192 meseca #3
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.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme