web-dev-qa-db-fra.com

Ajout d'une valeur statique aux résultats d'une requête SQL

Je me demande s'il existe un moyen d'y parvenir avec une requête SQL.

J'ai une table, appelons-la "LISTOFTHINGS" qui a deux champs d'intérêt "ID" et "NAMEOFTHING"

Ce que je veux faire, c'est construire une requête telle que ce qui est retourné soit le résultat de cette requête:

SELECT ID, NAMEOFTHING FROM LISTOFTHINGS ORDER BY NAMEOFTHING

et ajoute une ligne avant la première ligne de la requête ci-dessus qui a "-1, 'ALL THINGs'" comme valeurs.

Donc, si le tableau contient les trois entrées suivantes:

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

Ensuite, le résultat que je veux ressemble à ceci:

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

Je sais que je peux faire la requête et créer la liste avec du code, mais à l'intérieur du programme VB6 où j'utilise ceci, j'ai une application tierce (dont je n'ai pas le code) qui prend la requête pour remplir un Contrôle de table ACTIVEX avec les résultats. Je n'ai pas les crochets pour ajouter la valeur statique.

Je sais aussi que je pourrais simplement mettre un enregistrement dans le tableau pour "-1, 'TOUTES LES CHOSES" "mais le problème est, si je le fais, je devrai changer beaucoup d'endroits dans le programme pour ignorer cet enregistrement quand faire le traitement.

La valeur "TOUTES CHOSES" est en quelque sorte un pseudo-enregistrement qui gère un cas spécial pour une partie du programme.

20
Zeke Hansell

Pourriez-vous faire une union dans la requête?

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

Apparemment, c'est ainsi que cela devrait être fait pour DB2

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

Essaye ça:

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