db2 向SQL查询的结果添加静态值

uqjltbpv  于 2023-05-17  发布在  DB2
关注(0)|答案(3)|浏览(202)

我想知道是否有一种方法可以用SQL查询来完成这一点。
我有一个表,我们称之为“LISTOFTHINGS”,它有两个感兴趣的字段“ID”和“NAMEOFTHING”
我想做的是构造一个查询,使得返回的是这个查询的结果:

SELECT ID, NAMEOFTHING FROM LISTOFTHINGS ORDER BY NAMEOFTHING

并在上述查询的第一行之前添加一行,该行的值为“-1,'ALL THINGs'”。
因此,如果表中有以下三个条目:

1, 'THING 1'
3, 'THING 3'
2, 'THING 2'

然后我想要的结果看起来像这样:

-1, 'ALL THINGS'
1, 'THING 1'
2, 'THING 2'
3, 'THING 3'

我知道我可以用代码进行查询并创建列表,但在我使用它的VB 6程序中,我有一个第三方应用程序(我没有代码),它会将查询结果填充到ACTIVEX表控件中。我没有钩子来添加静态值。
我也知道我可以在表中为“-1,'ALL THINGS'“放一条记录,但问题是,如果我这样做,我需要在程序中更改很多地方,以便在处理时忽略该记录。
'ALL THINGS'值是一种 * 伪记录 *,用于处理程序某一部分的特殊情况。

ssgvzors

ssgvzors1#

你能在查询中做一个联合吗?

SELECT -1 AS ID , 'ALL THINGS' AS NAMEOFTHING FROM DUAL /*'FROM DUAL' is an Oracle thing,
                                                       not sure if you need to do 
                                                       something like that in DB2*/
UNION 
SELECT ID, NAMEOFTHING FROM LISTOFTHINGS ORDER BY NAMEOFTHING

显然,DB2应该这样做

SELECT -1 AS ID , 'ALL THINGS' AS NAMEOFTHING FROM SYSIBM.SYSDUMMY1
UNION 
SELECT ID, NAMEOFTHING FROM LISTOFTHINGS ORDER BY NAMEOFTHING
jdzmm42g

jdzmm42g2#

试试这个:

SELECT -1 AS ID, 'ALL THINGs' AS NAMEOFTHING FROM SYSIBM.SYSDUMMY1
UNION
SELECT ID, NAMEOFTHING FROM LISTOFTHINGS
dvtswwa3

dvtswwa33#

在SQL Server Management Studio v18中,有一个细微的区别:

SELECT -1 AS ID, 'ALL THINGs' AS NAMEOFTHING
UNION
SELECT ID, NAMEOFTHING FROM LISTOFTHINGS

相关问题