我有一个特殊的数据环境,我需要以某种方式返回数据来填充表。
这是我当前的查询:
SELECT
bs_id,
IF(bs_board = 0, 'All Boards', (SELECT b_name FROM certboards WHERE b_id IN (REPLACE(bs_board, ';', ',')))) AS board
FROM boardsubs
如您所见,我有一个if
声明,然后是一个特殊的子选择。
我有这个的原因是该字段bs_board
是一个varchar
包含多个行ID的字段,如下所示:
1;2;6;17
所以,像它这样的查询工作正常,但它只返回第一个匹配的b_name
。我需要它来返回所有匹配项。例如,1;2
它应该返回两个板Board 1
并Board 2
在同一列中。稍后我可以处理<br>
在每个结果之间添加一个。
但是我正在处理的问题是它必须在单个列中返回名称或所有名称,因为该字段可以包含与选择的原始编辑器一样多的名称。