Добавление статического значения к результатам запроса SQL - PullRequest
19 голосов
/ 24 июня 2011

Мне интересно, есть ли способ сделать это с помощью SQL-запроса.

У меня есть таблица, давайте назовем ее «LISTOFTHINGS», в которой есть два поля интереса: «ID» и «NAMEOFTHING».

То, что я хочу сделать, - это построить запрос таким образом, чтобы возвращаемые результаты были результатом этого запроса:

SELECT ID, NAMEOFTHING FROM LISTOFTHINGS ORDER BY NAMEOFTHING

и добавляет строку перед первой строкой вышеуказанного запроса, которая имеет"-1, 'ВСЕ ВЕЩИ'" в качестве значений.

Так что, если в таблице есть следующие три записи:

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' является своего рода псевдозаписью , котораяобрабатывает специальный случай для одной части программы.

Ответы [ 2 ]

29 голосов
/ 24 июня 2011

Не могли бы вы сделать объединение в запросе?

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
13 голосов
/ 24 июня 2011

Попробуйте это:

SELECT -1 AS ID, 'ALL THINGs' AS NAMEOFTHING FROM SYSIBM.SYSDUMMY1
UNION
SELECT ID, NAMEOFTHING FROM LISTOFTHINGS 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...