Sql 从表2中选择进入表,其中列位于(子查询)
在这里你可以看到我想要的:) 找到重复项并将其复制到另一个表中。 但使用此代码,我得到一个错误: 选择时,只能在选择列表中指定一个表达式 子查询不随EXISTS一起引入 用于查找重复项的SELECT语句工作得非常好。但是,我有一个问题,就是使用select Into只选择重复项并将其复制到新表中 我希望你能理解我想要什么,任何人都能帮我:) //编辑: Im使用SQL Server 2008 R2您可以使用:Sql 从表2中选择进入表,其中列位于(子查询),sql,sql-server,select,select-into,Sql,Sql Server,Select,Select Into,在这里你可以看到我想要的:) 找到重复项并将其复制到另一个表中。 但使用此代码,我得到一个错误: 选择时,只能在选择列表中指定一个表达式 子查询不随EXISTS一起引入 用于查找重复项的SELECT语句工作得非常好。但是,我有一个问题,就是使用select Into只选择重复项并将其复制到新表中 我希望你能理解我想要什么,任何人都能帮我:) //编辑: Im使用SQL Server 2008 R2您可以使用: SELECT .... ColumnNames ... INTO [FOUND_DUP
SELECT .... ColumnNames ...
INTO [FOUND_DUPLICATES]
FROM [FIND_DUPLICATES] AS FD
WHERE FD.[Contract No] IN
(SELECT [Contract No],
[Vehicle Identity number (VIN)],
COUNT(*) AS Anzahl
FROM FIND_DUPLICATES
GROUP BY
[Contract No],
[Vehicle Identity number (VIN)]
HAVING COUNT(*) >1)
或使用相关子查询:
SELECT .... ColumnNames ...
INTO [FOUND_DUPLICATES]
FROM [FIND_DUPLICATES] AS FD
WHERE FD.[Contract No] IN
(
SELECT
[Contract No]
FROM FIND_DUPLICATES
GROUP BY
[Contract No],
[Vehicle Identity number (VIN)]
HAVING COUNT(*) >1
)
添加另一个子查询应该有效吗
SELECT .... ColumnNames ...
INTO [FOUND_DUPLICATES]
FROM [FIND_DUPLICATES] AS FD
WHERE EXISTS
(
SELECT 1
FROM FIND_DUPLICATES FD1
WHERE FD.[Contract No] = FD1.[Contract No]
GROUP BY
FD1.[Contract No],
FD1.[Vehicle Identity number (VIN)]
HAVING COUNT(*) >1
)
六羟甲基三聚氰胺六甲醚。。。我的缩进有点错误,但这应该有助于可读性。
Select .... ColumnNames ...
INTO [FOUND_DUPLICATES]
FROM [FIND_DUPLICATES]
AS FD
where FD.[Contract No]
IN ( Select [Contract No] from (Select
[Contract No],
[Vehicle Identity number (VIN)],
COUNT(*) AS Anzahl
from FIND_DUPLICATES
group by
[Contract No],
[Vehicle Identity number (VIN)]
having count(*) >1)x)
Select .... ColumnNames ...
INTO [FOUND_DUPLICATES]
FROM [FIND_DUPLICATES]
AS FD
where FD.[Contract No]
IN (
select [Contract No] from (Select --inner sub query
[Contract No],
[Vehicle Identity number (VIN)],
COUNT(*) AS Anzahl
from FIND_DUPLICATES
group by
[Contract No],
[Vehicle Identity number (VIN)]
having count(*) >1) )