2013-04-03 50 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 –

相关问题