2015-12-24 6 views
2

У меня есть данные, которые жестко закодированы в моем запросе выбора.Различные способы возврата жестко закодированных значений через SQL

SQL, заключается в следующем:

SELECT 
'ZZ0027674', 
'ZZ0027704', 
'ZZ0027707', 
'ZZ0027709', 
'ZZ0027729', 
'ZZ0027742', 
'ZZ0027750' 

К сожалению, это не отображает данные. Он просто возвращает 7 столбцов, и каждый столбец имеет каждое значение. Мне просто нужен 1 столбец с разными значениями.

Просьба предоставить мне различные решения для отображения данных?

+0

Проверьте остальные запроса, вероятно, 'WHERE ...' является ложным для вас case – lad2025

+0

Дополнительные баллы, если кто-то может показать мне univot? – PriceCheaperton

+0

Можете ли вы предоставить образец вывода? Когда вы говорите: «он просто возвращает 7 столбцов», вы имеете в виду 7 строк (т.е. вертикальный, а не горизонтальный)? –

ответ

8

Вы можете использовать VALUES, иначе Таблица Значение Constructor, пункт для закодированных значений:

SELECT * 
FROM (VALUES('ZZ0027674'),('ZZ0027704'),('ZZ0027707'), 
      ('ZZ0027709'),('ZZ0027729'),('ZZ0027742'), 
      ('ZZ0027750') 
    ) AS sub(c) 

LiveDemo

Предупреждение: Это ограничение до 1000 строк и применяет до SQL Server 2008+. Для более низкой версии вместо этого вы можете использовать UNION ALL.

EDIT:

Дополнительные очки, если кто-то может показать мне UNPIVOT?

SELECT col 
FROM (SELECT 'ZZ0027674','ZZ0027704','ZZ0027707', 
      'ZZ0027709','ZZ0027729','ZZ0027742','ZZ0027750' 
    ) AS sub(v1,v2,v3,v4,v5,v6,v7) 
UNPIVOT 
(
    col for c in (v1,v2,v3,v4,v5,v6,v7) 
) AS unpv; 

LiveDemo2

+1

парень. ................. – PriceCheaperton

+1

Только для SQL Server 2008 и выше. – Horaciux

+0

@Horaciux Да, добавлено примечание об этом. – lad2025

5

Использование союз:

SELECT 
'ZZ0027674' union all 
SELECT 'ZZ0027704' union all 
SELECT 'ZZ0027707' union all 
SELECT 'ZZ0027709' union all 
SELECT 'ZZ0027729' union all 
SELECT 'ZZ0027742' union all 
SELECT 'ZZ0027750' 
+0

Совместимость с версией SQL Server – Horaciux

0

Можно также использовать профсоюзу

SELECT 'ZZ0027674' as [col1] 
UNION 
SELECT 'ZZ0027704' 
Смежные вопросы