小编典典

将静态值添加到SQL查询的结果

sql

我想知道是否有一种方法可以通过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'

我知道我可以执行查询并使用代码创建列表,但是在使用此代码的VB6程序中,我有一个第三方应用程序(我没有代码),该应用程序可以使用查询来填充带结果的ACTIVEX表控件。我没有勾子去添加静态值。

我也知道我可以在表中放入“ -1,’ALL THINGS’”的记录,但是问题是,如果这样做,我将需要在程序中更改很多位置以忽略该记录。做处理。

“ ALL THINGS”值是一种 伪记录 ,可处理该程序一部分的特殊情况。


阅读 211

收藏
2021-04-22

共1个答案

小编典典

您可以在查询中进行并集吗?

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
2021-04-22