PHP - 我不想再使用带循环的表了

时间:2013-01-15 22:27:58

标签: php mysql

我需要构建一个表格,显示我选择的一天的所有销售额。

我总是使用虚拟方式,选择在一天内销售的表产品,然后在php表上做一个循环,从其他表中获取其他信息。

我想知道这是否是获取数据的简单方法。

TABLES:

table_products

pr_id | pr_name | pr_price | ..
------|---------|----------|
1     | TV      | 299.99   |
2     | RADIO   |  59.99   |
3     | DVD     |  49.99   |
..    | ..      | ..       |


table_sales

sa_id | sa_coupon | sa_day   | sa_month | ..
------|-----------|----------|----------|
1     | 101       |    4     |    9     |
2     | 102       |    5     |    9     |
3     | 103       |    5     |    9     |
..    | ..        | ..       |..        |
80    | 211       |    2     |    12    |
..    | ..        | ..       |..        |


table_sales_dt

sa_dt_coupon |  sa_dt_product_id      | sa_qtd      |
-------------|------------------------|-------------|..
101      | 1                  | 10          |
101      | 2                  | 5       |
102      | 1              | 5       |
103      | 3              | 8       |
211      | 1              | 15      |
211      | 2              | 10      |
211      | 3              | 5       |
..           | ..             | ..          |

我希望显示如下结果:

第9个月(9月)的销售

N   PRODUCT  QUANTITY    PRICE   TOTAL
1 - TV     - 15       - 299.99 - 4499.85
2 - RADIO  - 5        - 59.99  - 299.95
3 - DVD    - 8        - 49.99  - 399.92

感谢!!!

1 个答案:

答案 0 :(得分:0)

这样的事可能会这样做:

SELECT p.* FROM table_products p 
LEFT JOIN table_sales_dt dt ON p.id = dt.product_id
LEFT JOIN table_sales s ON dt.sa_dt_coupon = s.sa_coupon
WHERE s.sa_month = 9