2013-01-15 40 views
0

我需要建立一个表格来显示我选择的某一天的所有销售情况。PHP - 我不想再使用带循环的表格

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

我想知道如果这是一个简单的方法获取数据。

表:

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月(九月)

销售

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 

谢谢!

+0

您是否尝试过使用SQL连接? – Sven

+1

对不起,我看不到任何地方的SQL查询[你试过](http://www.whathaveyoutried.com) – Kermit

+0

http://www.w3schools.com/sql/sql_join.asp诀窍是在SQL请求 – legrandviking

回答

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 
+0

尼斯,但我想只显示一个产品(如SELECT DISTINCT)和他们的销售总额。像上面的表一样。尽管如此,我仍然感谢 – evdutcos

+0

,但大约需要50秒才能显示结果,没关系。 – evdutcos