2016-06-08 1 views
-1

컴퓨터와 모니터를 판매하고 싶다고 가정 해 봅시다.SQL에서 여러 종류의 제품을 집계하는 방법은 무엇입니까?

메모리 (GB), 프로세서 속도 (GHz), 하드 드라이브 유형, 하드 드라이브 크기와 같은 매개 변수를 컴퓨터에 저장하겠습니다.

모니터에는 크기 (인치), 해상도 및 비율과 같은 매개 변수가 있습니다.

모든 제품의 이름, 가격 및 재고 유무가 있습니다.

MySQL 데이터베이스에 저장하는 가장 좋은 방법은 나중에 필터를 적용하려는 경우입니다. "500 달러의 가격대에있는 모든 제품"?

답변

0

속성 값 테이블을 사용

CREATE TABLE attributes (
    product_id INT, -- foreign key to products table 
    attribute_name VARCHAR(32), -- size, resolution, ratio, etc. 
    attribute_value VARCHAR(32) -- value of the attribute 
); 

는 그런 다음 같은 쿼리를 수행 할 수 있습니다

SELECT product_id 
FROM attributes 
WHERE attribute_name = 'size' AND attribute_value = 32 

을하고 가격 등을 얻을 수있는 products 테이블과이 테이블을 가입 할 수 있습니다.

여러 특성을 결합하려는 경우

mySQL - Create a New Table Using Data and Columns from Three Tables

참조
관련 문제