2012-03-22 92 views
0

爵士怎樣才能通過使用組由

添加兩個不同的ID我有兩個表

第一個名字screen_main有場

screen_main_id,screen_date,start_date,end_date 
1 12 15 
2 13 15 
3 14 16 

我有兩個起點之間取一個screen_main_id日期和結束日期後,我有另一個表名screen_product表

field:

screen_id screen_main_id article_id quantity price %age 
1   1    1   5   234 12% 
2   2    1   6   221 12% 
3   1    2   5   111 10% 

現在第一張桌子給我screen_main_id當我選擇開始日期和結束日期後選擇screen_main_id我必須總結所有的數據具有artical組明智的就像artical = 1那麼它做的總和我們得到的兩個id從第一張桌子。

我的回答

用於選擇第一screen_main_id

select * from screen_main where screen_date between start_date='$start_date' and end_date='$end_date' 

取得被screen_main_id

select sum(quantity) ,sum(price),sum(%age) from screen_product where screen_main_id='$screen_main_id' group by aitical_id 

它添加,但如果在screen_main_id變化則分爲兩個部分它不給休息後us sum

如果有任何問題,請幫助我EM瞭解請我的問題問我 感謝

+0

等待,第一個表中的列的值是什麼?你顯示四個名字,但只有三列的數據 – dldnh 2012-03-22 15:41:22

+0

我正在使用screen_data當我在start_date和end_date之間獲取日期那個時候我正在使用這個字段 – 2012-03-22 18:57:29

回答

0

選擇總和(數量),總和(價格),合計(%以下)從screen_product其中 screen_main_id = '$ screen_main_id' 組由aitical_id

在分組,在GROUP BY子句中使用必須在選定字段的字段,以便第二個變成

我希望這會幫助你

+0

它正在爲同一個screen_main_id工作,但是當screen_main_id改變時它不會工作的例子時我從表screen_main選擇screen_main_id然後假設我有3 screen_main_id是1,2,3然後現在我有3 screen_main_id然後我必須使用artical組所有三個id的總和 – 2012-03-22 18:51:37