2013-01-15 83 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