问题是由于需要返回用于 Web 服务的单行结果集而返回值。
例如,如果我有一个 select 语句当前返回一个包含 3 列和 1 行的结果集,有没有办法在它自己的列中“附加”一个值?新值可以是任意返回一行的任意选择的结果。
从 d 中选择 a、b、c,其中 a = 'id'
给出
col1 col2 col3
a b c
新的选择应该给出:
col1 col2 col3 col4
a b c *NEW*
在这种情况下,任意表示不一定与原始 select 语句中的任何值或表相关。
我想知道如何在 Oracle 中执行此操作,但希望有一个使用标准 SQL 功能的解决方案,以便大多数数据库都能处理它。
编辑:通过NEW
,我并不是指字符串文字“NEW”,而是指我想要“附加”的新选择语句的结果.
最佳答案
如果您想要一个新的 select 语句,可以通过两种方式实现。一种是选择
中的选择
:
select col1, col2, col3,
(select 'NEW' from d limit 1) as col4
from d
另一个是交叉连接
:
select d.col1, d.col2, d.col3, const.col4
from d cross join
(select 'NEW' as col4 from d limit 1) const
我使用一个简单的子查询作为示例。我认为您的子查询有点复杂。
关于mysql - SQL如何将列追加到单行结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17432604/