MySQL选择子查询中仅显示1个数据的位置

MySQL选择子查询中仅显示1个数据的位置,mysql,Mysql,我想显示表b中的所有数据。但我得到的只是一个数据,而我拥有的数据不止一个 这是表a: id | id_category | status ---+-------------+------- 1 + Null + 0 2 + Null + 0 3 + 59,76,55 + 1 这是表b: id | name | status ---+-------------+------- 59+ data1

我想显示表b中的所有数据。但我得到的只是一个数据,而我拥有的数据不止一个

这是表a:

id | id_category | status
---+-------------+-------
1  +  Null       +      0
2  +  Null       +      0
3  +  59,76,55   +      1
这是表b:

 id |    name     | status
 ---+-------------+-------
  59+   data1     +      0
  76+   data2     +      0
  55+   data3     +      1
以下是问题:

select name
from table_b 
where id IN (
                select id_category 
                from table_a 
                where status = 1
            )

我刚得到的数据只是数据1。查询有什么问题吗?

回答不错,但是
[DISTINCT]
应该只
DISTINCT
。否则,它将由于语法错误而失效。@AkhileshMishra,但[DISTINCT]只应是DISTINCT的-我不知道它是否需要-因此我将其标记为可疑/可选。
SELECT [DISTINCT] b.id, b.name, b.status
FROM table_b b
JOIN table_a a ON FIND_IN_SET(b.id, a.id_category)