组合两个表有一个逻辑问题,但是一个表有逗号分隔值。
表1
user value
-----------------
Alex x1,x2
Max x2,x3
表2
valueId valueProperties
-----------------
x1 abc
x2 asd
x3 poi
我想要查询并从第二个表格中选择user
valueProperties
,而从第一个表格中选择value
。
select user, valueProperties from Table1, ....
我正在寻找类似的搜索结果:
Alex abc,asd
答案 0 :(得分:3)
通常这是一个糟糕的设计。您应该正确地规范化表中的表。无论如何,要直接回答您的问题,您可以使用MySQL的FIND_IN_SET
来搜索csv中的值。 GROUP_CONCAT
会将行连接成csv格式。
SELECT a.user,
GROUP_CONCAT(b.valueProperties)
FROM Table1 a
INNER JOIN Table2 b
ON FIND_IN_SET(b.valueID, a.value) > 0
GROUP BY a.user
建议的架构设计:
的UserList
值列表
UserValue