2014-02-25 184 views
1

我已經搜索了一遍這個答案,但找不到我真正想要的東西!所以我不得不問在這裏..重複時記錄一個記錄

我不知道該如何解釋這一點,但這裏是一個表:

Date   BL   Client Design  Ref1 Ref2 Ref3 Qte 
    14/01/2013 13011401 A  VT   VT1  JAUNE XL  3 
    14/01/2013 13011402 B  VT   VT2  GRIS L  30 
    16/01/2013 13011601 D  VT   VT1  GRIS L  10 
    16/01/2013 13011602 C  VT   VT2  GRIS L  32 
    19/01/2013 13011903 F  VT   VT2  JAUNE L  15 

我正在尋找一個結果可能看起來像下面的是:

Date   BL   Client Design  Ref1 Ref2 Ref3 Qte 
    14/01/2013 13011401 A  VT   VT1  JAUNE XL  3 
    14/01/2013 13011402 B  VT   VT2  GRIS L  62 
    16/01/2013 13011601 D  VT   VT1  GRIS L  10 
    19/01/2013 13011903 F  VT   VT2  JAUNE L  15 

編輯:金額QTE如果有重複的(設計,Ref1至,至Ref2,REF3

不知道這是否可能,但我會感謝您的幫助!

+3

你能解釋一下基於什麼重複嗎? –

+0

我從你的表中瞭解到,它不是以標準化的形式。嘗試創建兩個表,將A,VT,VT1,JAUNE存儲在一個表中,並將p_id作爲主鍵。在其他表中,存儲數量,日期,integer_id,foreign_key。然後你只需要按外鍵和彙總功能上的數量 – nextgtech

回答

1
table : mytable 

    col1   col2  Col3  col4 col5 col7 col8 col9 
    14/01/2013 13011401 A  VT  VT1  JAUNE XL  3 
    14/01/2013 13011402 B  VT  VT2  GRIS L  30 
    16/01/2013 13011601 D  VT  VT1  GRIS L  10 
    16/01/2013 13011602 C  VT  VT2  GRIS L  32 
    19/01/2013 13011903 F  VT  VT2  JAUNE L  15 

我明白了什麼是您想複製的col4,col5,col7,col8此基礎上,你可以不喜歡

SELECT col1,col2,Col3,col4,col5,col7,col8,SUM(col9) 
FROM mytable 
GROUP BY col4,col5,col7,col8; 

在本組將始終返回第一行其他領域

+0

這就是它感謝您的幫助:) – 0x58

+0

對不起,我有一個更多的問題,如果我們有兩張桌子並且不想將第一張的結果與第二張的結果相比較,那該怎麼辦? – 0x58

+0

我不清楚你的問題,你可以發佈另一個問題,以便每個人都可以幫助你。 –

0

你正在尋找的東西像

SELECT *, SUM(field) FROM table 
GROUP BY field1, field2 

其中field是要總結列和FIELD1和FIELD2是組你想要的列

0

試試這個

SELECT *, 
     Sum(field_name) 
FROM tablename 
GROUP BY column_name 
0
SELECT *, SUM(field) FROM table GROUP BY field 

將聚合函數(即SUM)應用到您需要總和的字段上,然後將Group By Ë相同.....

+0

格式化答案是一個好主意...提高可讀性...歡迎來到SO伴侶:) – NoobEditor