怎么让SQL抓取的结果集一列为自己给定的一个list?不要用union。比如给定一个list:apple,orange,banana。要得到一个结果集是竖着一列:
水果
apple
orange
banana
你的框架的持久层使用的是什么技术?
你的list是怎么传给sql的?
根据你框架使用的技术不同,解决方案不同。
比如,如果使用mybatis的话,倒是使用union all可以实现。(知道你不要用union)
<select id="selectTmpResult" parameterType="map"
resultType="java.lang.String">
<trim prefixOverrides="union all">
union all
(select
<foreach collection="tmpList" item="tmpItem"
separator="">
#{tmpItem} as Value
</foreach>
from dual
)
</trim>
</select>
sql文中行转列虽然能做,但是比较复杂,且不同数据库的操作都不禁相同。如果你是通过代码读取数据的,为什么不直接扫描列然后保存成list呢?这样既简单,又通用