外表的更改会影响上一个报表

时间:2016-08-12 11:12:05

标签: sql database

实际上我陷入了一个问题。我有一张桌子:

 tbl_color
+------------+
|id |  name  |
|---|--------|     
|1  |  Red   | 
|---|--------|
|2  |  Blue  |
|---|--------|     
|3  |  Black |      
+------------+

 tbl_clothes
+----------------+
|id  |   name    |
| 1  |   Pant    |
| 2  |   Shirt   |
| 3  |   T-shirt | 
+----------------+


tb_sales
+---------------------------------------+
|id | id_cloth |  id_color | sales_date | 
|---|----------|-----------|------------|
|1  |    1     |    1      | 2016/1/1   |
|---|----------|-----------|------------|
|2  |    1     |    3      | 2016/1/1   |
|---|----------|-----------|------------|
|3  |    1     |    1      | 2016/2/2   | 
+---------------------------------------+

所以当我将一行tbl_color更改为

tbl_color 
+---------------------------+
|id  | name   | modified_on |
|----|--------|-------------|
|1   | Orange | 2016/3/2    |
|----|--------|-------------|
|2   | Blue   | 2016/1/2    |
|----|--------|-------------|
|3   | Black  | 2016/1/2    |
+---------------------------+

所以当我想在2016/1/1获得销售报告时

SELECT * from table tb_sales
JOIN  tbl_clothes ON  tbl_clothes.id = tbl_sales.id_cloth
JOIN  tbl_sales ON tbl_color.id = tbl_sales.id_color
where sales_date = '2016/1/1'

我得到的报告已被修改,没有原始销售 我该如何处理这个问题?

0 个答案:

没有答案