0
MySQL을 쿼리하려고합니다. 내가 3 개 테이블이 있다고 상상 데이터는 다음과 같이 보았다 :날짜 범위에서 MySQL에 가입하십시오.
apple_prices
+------------+----------+-------+
| date | name | price |
+------------+----------+-------+
| 2012-07-01 | McIntosh | $0.25 |
| 2012-07-02 | McIntosh | $0.25 |
| 2012-07-03 | McIntosh | $0.10 | <- price change
| 2012-07-04 | McIntosh | $0.10 |
| 2012-07-05 | McIntosh | $0.10 |
+------------+----------+-------+
가 apples_sold 레코드와 가격을 저장하고 싶지 않았다 , 정상화 :이 출력하는 쿼리를 만들려고
apples_sold
+--------+------------+----------+------+
| tranID | date | apple_id | sold |
+--------+------------+----------+------+
| 101 | 2012-07-01 | a01 | 2 |
| 102 | 2012-07-02 | a01 | 5 |
| 103 | 2012-07-03 | a01 | 1 |
| 104 | 2012-07-04 | a01 | 0 |
| 105 | 2012-07-05 | a01 | 2 |
+--------+------------+----------+------+
price_history
+---------+------------+----------+-------+
| priceID | date | apple_id | price |
+---------+------------+----------+-------+
| p01 | 2012-07-01 | a01 | $0.25 |
| p02 | 2012-07-03 | a01 | $0.10 | <- price change
+---------+------------+----------+-------+
apple_name
+----------+----------+
| apple_id | name |
+----------+----------+
| a01 | McIntosh |
+----------+----------+
그리고 다. 문제는 판매 된 레코드를 가격과 결합시키는 최선의 방법이 확실하지 않다는 것입니다.
이 apple_id –
와 3 표를 결합하면 apples_sold 테이블에 priceID를 저장 한 후 가입하실 수 있습니다 그것은 – Vatev
당신이 당신의 데이터 구조를 변경할 수에 ? 가격 내역 테이블은 천천히 변화하는 차원의 예입니다. 각 레코드에 유효 날짜와 종료 날짜가 모두있는 경우 쿼리가 쉽습니다. –