【发布时间】:2013-06-30 05:38:08
【问题描述】:
问题源于需要返回值,需要返回将用于 Web 服务的单行结果集。
例如,如果我有一个 select 语句,它当前返回一个包含 3 列和 1 行的结果集,有没有办法在它自己的列中“附加”一个值?新值可以是任意选择的结果,它只返回一行。
select a, b, c from d where a = 'id' 给了
col1 col2 col3
a b c
新的选择应该给出:
col1 col2 col3 col4
a b c *NEW*
在这种情况下,任意用于表示不一定与原始 select 语句中的任何值或表相关。
我想知道如何在 Oracle 中执行此操作,但希望有一个使用标准 SQL 功能的解决方案,以便大多数数据库都能处理它。
编辑:NEW 不是指字符串字面量“NEW”,而是指我想“追加”的新 select 语句的结果。
【问题讨论】:
-
这听起来很奇怪,如果您需要这样做,我会质疑您的数据库架构设计。
-
此查询旨在用于需要单行值的 Web 服务。
-
好的,但是为什么你需要在同一个查询中包含这些值。您可以在数据库中查询此数据并在对客户端的响应中以您想要的方式表示它?
-
这就是重点——避免在这个查询的中间层有任何东西。
-
好吧,那么你没有网络服务,你只有一个直接调用数据库的客户端。当您说您将此查询用于 Web 服务时,这会让我认为您有一个 Web 服务,您可以通过该 Web 服务将此数据提供给服务客户端。
标签: mysql sql sql-server oracle