상품
1.축구공
2.농구공
3.배구공
4.탁구공
매출원장
1. 2011-11-01 축구공 10
2. 2011-11-02 축구공 20
3. 2011-11-02 배구공 5
내가원하는값은 매출거래가 축구공,배구공만 이루어줬기 때문에
2 라는 숫자를 원합니다
초보라 query 문을 어떻게 얻어야 할지 몰라서요
Schema 정보만 올려주세요~
CREATE TABLE `Item` ( `index` INT(11) NOT NULL AUTO_INCREMENT, `item_name` VARCHAR(20) NOT NULL, PRIMARY KEY (`index`) ) ENGINE=INNODB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPRESSED
INSERT INTO `Item`(`index`,`item_name`)
VALUES
( NULL,'축구공'),
( NULL,'농구공'),
( NULL,'배구공'),
( NULL,'탁구공');
CREATE TABLE `Selling` ( `index` INT(11) NOT NULL AUTO_INCREMENT, `selling_date` DATE NOT NULL, `Item_Index` INT(11) NOT NULL, `selling_count` INT(11) NOT NULL DEFAULT '0', PRIMARY KEY (`index`), KEY `fk_Item_Index` (`Item_Index`), CONSTRAINT `fk_Item_Index` FOREIGN KEY (`Item_Index`) REFERENCES `Item` (`index`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=INNODB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
mysql> SELECT COUNT(DISTINCT `Item_Index`) FROM `Selling`; +------------------------------+ | COUNT(DISTINCT `Item_Index`) | +------------------------------+ | 2 | +------------------------------+ 1 row in set (0.00 sec)
mysql> SELECT COUNT(1), `Item`.`item_name` FROM `Selling` JOIN `Item` ON `Selling`.`Item_Index` = `Item`.`index` GROUP BY `Selling`.`Item_Index`; +----------+-----------+ | COUNT(1) | item_name | +----------+-----------+ | 2 | 축구공 | | 1 | 배구공 | +----------+-----------+ 2 rows in set (0.00 sec)
Selling Table 은 데이터 무결성을 위해 폴링키를 사용했습니다~
그럼 ㅅㄱ