请告诉我如何在行中有条件地显示同一列中的值?例如:我有一个名为tags的表,其中有两列tag_id和tag_name。我希望tag_name中的值根据条件显示在next旁边。
tags
tag_id tag_name
1 abc
2 xyz
3 def
4 ghi
要求tag_name:abc,ghi
答案 0 :(得分:0)
如果您的RDBMS是MySQL:
select GROUP_CONCAT(tag_name)
from (
select tag_id, tag_name, 1 as selector
from tags
where tag_id in (1, 4)
) as x
group by selector
如果您的RDBMS是Oracle:
select LISTAGG(tag_name, ', ')
WITHIN GROUP (ORDER BY selector)
from (
select tag_id, tag_name, 1 as selector
from tags
where tag_id in (1, 4)
)