2014-06-08 38 views
-1
select * from categories limit 40; 
+--------------+---------------+-----------------+------------ 
| category_id | T1   | T2    | T3   
+--------------+---------------+-----------------+------------ 
      7 | Soft Drinks | Fountain  | Apple    
      10 | Soft Drinks | Fountain  | Clear    
      10 | Soft Drinks | Fountain  | Lemon    
      15 | Soft Drinks | Tin    | Clear    
      16 | Soft Drinks | Bottled   | Apple    
      16 | Soft Drinks | Bottled   | Apple    
      17 | Soft Drinks | Bottled   | Mango    

我有4列中,如下(CATEGORY_ID,T1,T2,T3)是否有可能基於在另一列中的共同屬性值列出的屬性值的一列

怎麼可能於所示將基於T1的數據分組? (即在這種情況下軟飲料)如下所示

軟飲料

例如分層結構具有三個不同的類別和每個類別可以具有CATEGORY_ID也

SoftDrinks ==> Fountain ==> Apple(7) , Clear(10) , Lemon(10) . 
SoftDrinks ===> Tin =====> Clear(15) 
SoftDrinks ===> Bottled =====> Apple(16) , Apple(16) , Mango(17) 

什麼是最好的子類如何處理這個問題?

在此先感謝?

+0

數據庫無法爲您提供任何形式的結果,而不是平坦的表格。您可以從此平坦表格創建您想要的結構。數據庫方面沒有更多要做。 – Jon

+0

同意,但有可能寫這樣的查詢,以便它產生上述要求? – Kiran

+0

我不知道上面的要求是什麼。如果你可以用平坦的表格形式編寫它,可以寫一個查詢。如果你不能,那是不可能的。 – Jon

回答

1
select t1, t2, group_concat(concat(t3,'(',cateogoryId,')'),', ') x 

from something 

group by 1,2 
+0

如果你想要'==>',只需連接所有與中間'==>'列 – jacobjonz

+0

謝謝,我已經嘗試過上述查詢其給我的SQL語法錯誤,我使用MySQL 5.5。你請幫助 – Kiran

+0

@Kiran。你有一個1000代表,但你不知道如何處理語法錯誤。我無法相信。 – Strawberry

相關問題