-5
SELECT Name WHERE Id IN (3,4,5,3,7,8,9)
其中在这种情况下,“3” ID重复。 该查询会自动排除重复的项目,而对我来说重要的是让它们全部重要。 有没有办法直接在SQL中做到这一点?
SELECT Name WHERE Id IN (3,4,5,3,7,8,9)
其中在这种情况下,“3” ID重复。 该查询会自动排除重复的项目,而对我来说重要的是让它们全部重要。 有没有办法直接在SQL中做到这一点?
该查询不排除重复,只是没有任何重复排除。表中只有一个记录id为3的记录,这是因为in()
中有3个记录,但它不包含两次,因为3在该记录中存在两次。
要获取重复项,您将不得不创建具有重复项的表结果,并根据该项结合表。例如:
select t.Name
from someTable t
inner join (
select id = 3 union all
select 4 union all
select 5 union all
select 3 union all
select 7 union all
select 8 union all
select 9
) x on x.id = t.id
试试这个:
SELECT Name FROM Tbl
JOIN
(
SELECT 3 Id UNION ALL
SELECT 4 Id UNION ALL
SELECT 5 Id UNION ALL
SELECT 3 Id UNION ALL
SELECT 7 Id UNION ALL
SELECT 8 Id UNION ALL
SELECT 9 Id
) Tmp
ON tbl.Id = Tmp.Id
你是什么让他们意味着什么?即使不包含重复项,它也会将它们全部返回。 –
您正在使用哪种RDBMS? –
@HamletHakobyan标题T-SQL建议SQL Server或Sybase –