Sql server 消除重复值的SQL查询

Sql server 消除重复值的SQL查询,sql-server,Sql Server,此查询表示第二个表中的所有记录和第一个表中的匹配记录。现在我的问题是,2015年2月24日,第二个表中有重复的名称,我希望第二个表中有不同的名称,然后是第一个表中的匹配值。现在,我的查询显示了第二个表中的所有重复值以及第一个表中的匹配记录。在这方面没有任何帮助。谢谢当前,您的查询从第一个表(日期为“2015/02/24”)中获取所有行,并从第二个表中获取匹配的记录 希望您的表有一个主键(示例中的列id)。然后你可以这样做: SELECT first.name,first.country, sec

此查询表示第二个表中的所有记录和第一个表中的匹配记录。现在我的问题是,2015年2月24日,第二个表中有重复的名称,我希望第二个表中有不同的名称,然后是第一个表中的匹配值。现在,我的查询显示了第二个表中的所有重复值以及第一个表中的匹配记录。在这方面没有任何帮助。谢谢

当前,您的查询从第一个表(日期为“2015/02/24”)中获取所有行,并从第二个表中获取匹配的记录

希望您的表有一个主键(示例中的列
id
)。然后你可以这样做:

SELECT first.name,first.country, second.name, second.string
FROM 
first LEFT OUTER JOIN second
ON 
first.name = second.name 
WHERE 
first.date='2015/02/24'

如果只添加“distinct”会发生什么?查询意味着
第一个表中的所有记录
而不是第二个表,只匹配第二个表中的行,goole
ROW_NUMBER()
以获得不同的值。ohh yaa恰好位于左侧。你完全正确。但我希望第二个表中的名称不同,而不是重复,并且它们的匹配记录来自第一个表。
SELECT first.name,first.country, second.name, second.string
    FROM 
        first
    LEFT OUTER JOIN second
    ON 
    second.id = (SELECT min(id) FROM second_min WHERE first.name = second_min.name)
    WHERE 
        first.date='2015/02/24'