2013-04-03 54 views
4

我有包的表,其中如何顯示id爲逗號分隔表中的數據?

Package_id name  description 
    1   A  abcdef 
    2   B  ghijkl 
    3   C  mnopq 

,另一臺是user_comparisons

u_c_id  user_id package_ids 
    1   1  1,2 
    2   2  2,1 
    3   1  1,3 

我想表明相對於對用戶user_comparisons包,我該怎麼辦呢?如果有任何人可以幫助它將不勝感激,在此先感謝。

編輯

我想說明的包像

user Comparisons # 1 

    Package 1     Package 2 
    Name  description  Name   Description 

用戶Comaprison#2

Package 1     Package 3 
Name  Description   Name  Description      
+0

最好的解決方案是重構(規範化)你的數據庫,以刪除逗號分隔值到他們自己的表 –

回答

6

使用FIND_IN_SET()

SELECT a.*, b.* 
FROM user_comparison a 
     INNER JOIN packages b 
      ON FIND_IN_SET(b.Package_ID, a.package_IDs) > 0 

數據庫的當前設計是壞的。考慮將表格歸一化爲三個表格設計。

+0

結果是正確的,但我想找到那個w.r.t user_id – usii

+0

什麼是'w.r.t'? –

+0

關於:D –

相關問題