Немного лучший формат для опции Excel, которую я разместил в комментариях (опять же, это не идеальный или лучший вариант, но он работает).Он не работает и работает грязно, но работает при отсутствии разрешений или просто для быстрого отключения.
В Excel скопируйте это в ячейку в той же строке ваших данных (и замените А1 на столбец ваших данных):
="Select '" &A1&"' AS FieldName UNION ALL"
ПРИМЕЧАНИЕ. Если у вас есть несколько столбцов, вы можете сделать это так же, просто отредактируйте формулу, аналогичную приведенной для нескольких столбцов:
="Select '" &A1&"' AS FieldName, '"&B1&"' as FieldName2 UNION ALL"
Затем скопируйте эту формулу всепуть вниз для каждой строки в вашем файле.
Затем скопируйте результаты вашей формулы, должно выглядеть примерно так:
Select '1' AS FieldName UNION ALL
Select '2' AS FieldName UNION ALL
Select '3' AS FieldName UNION ALL
(чтобы уменьшить текст при копировании из Excel вSQL "AS FieldName" может быть просто "AS F", или вы можете просто оставить это полностью (если имеете дело с одним полем). Если вы имеете дело со МНОЖЕМ строк, которые могут немного ускорить копирование / вставку и уменьшить размер вашего файладля вашего сценария SQL. Эти несколько символов складываются через некоторое время.
Затем удалите последний UNION ALL (или это не будет действительный SQL).
Затем вы можете использовать его следующим образомкод:
Select a, b, c
from x
where a in (
Select '1' AS FieldName UNION ALL
Select '2' AS FieldName UNION ALL
Select '3' AS FieldName
)
Если у вас есть МНОГО данных, вы можете сделать что-то вроде этого, чтобы сделать его немного легче для чтения (но при этом в вашем скрипте будет тонна).
-- OR USE temp table instead of table variable
DECLARE @TableData AS TABLE (
FieldValue VARCHAR(50)
)
INSERT INTO @TableData
Select '1' AS FieldName UNION ALL
Select '2' AS FieldName UNION ALL
Select '3' AS FieldName
Select a, b, c
from x
where a in (
SELECT FieldValue
FROM @TableData
)