【发布时间】:2010-11-02 05:56:01
【问题描述】:
我在 SQL Server 2000 中有一个表,我试图以特定方式查询它。展示这一点的最佳方式是使用示例数据。
看,[Addresses]:
Name Street City State
--------------------------------------------------------
Bob 123 Fake Street Peoria IL
Bob 234 Other Street Fargo ND
Jim 345 Main Street St Louis MO
这实际上是实际表结构的简化示例。表的结构完全超出了我的控制。我需要一个查询,每个名称都会返回一个地址。哪个地址无关紧要,只有一个。结果可能是这样的:
Name Street City State
--------------------------------------------------------
Bob 123 Fake Street Peoria IL
Jim 345 Main Street St Louis MO
我发现了一个类似的问题here,但在我的情况下,给出的解决方案都不起作用,因为我无权访问CROSS APPLY,并且在每一列上调用MIN() 会将不同的地址混合在一起,尽管我不关心返回哪条记录,它必须是一个完整的行,而不是不同行的混合。
更改表结构的建议对我没有帮助。我同意这张表很糟糕,(它比这里显示的更糟糕)但这是我无法更改的主要 ERP 数据库的一部分。
此表中大约有 3000 条记录。没有主键。
有什么想法吗?
【问题讨论】:
-
你能说出你的表中有多少条记录吗?我对此有一些想法,但如果有数千/数百万条记录,可能不会很快。
-
这张表有主键吗?
-
~3000 条记录,而且没有 PK,令人惊讶。我将此信息添加到问题中。
-
好的,检查我的答案,我添加了一个独特的
标签: sql tsql sql-server-2000