我有一个很简单的问题,我不能解决。我需要这样做:
select distinct * from (1, 1, 1, 2, 5, 1, 6).
谁都能帮上忙??
编辑
数据是以文本文件的形式从我们的一个客户那里获得的。它是完全无格式的(只有一行非常长的文本),但在Excel中也可以这样做。但这对我来说并不实用,因为我需要在sql查询中使用这些值。每次需要运行查询时都这样做是不方便的。
发布于 2009-10-14 08:24:08
要获得一长串逗号分隔的文本的不同值,最简单的方法是使用find an replace with UNION来获取不同值。
SELECT 1
UNION SELECT 1
UNION SELECT 1
UNION SELECT 2
UNION SELECT 5
UNION SELECT 1
UNION SELECT 6
应用于逗号分隔的长文本行
UNION SELECT
SELECT
现在,您应该有了一个可以工作的查询
发布于 2011-09-02 22:39:52
仅在SQL Server 2008及更高版本上提供以下形式的行构造器:
你可以使用
SELECT DISTINCT *
FROM (
VALUES (1), (1), (1), (2), (5), (1), (6)
) AS X(a)
有关详细信息,请参阅:
发布于 2016-01-30 04:48:35
一般而言:
SELECT
DISTINCT
FieldName1, FieldName2, ..., FieldNameN
FROM
(
Values
( ValueForField1, ValueForField2,..., ValueForFieldN ),
( ValueForField1, ValueForField2,..., ValueForFieldN ),
( ValueForField1, ValueForField2,..., ValueForFieldN ),
( ValueForField1, ValueForField2,..., ValueForFieldN ),
( ValueForField1, ValueForField2,..., ValueForFieldN )
) AS TempTableName ( FieldName1, FieldName2, ..., FieldNameN )
在您的案例中:
Select
distinct
TempTableName.Field1
From
(
VALUES
(1),
(1),
(1),
(2),
(5),
(1),
(6)
) AS TempTableName (Field1)
https://stackoverflow.com/questions/1564956
复制相似问题