我正在使用 SQL Server 2008,我陷入了和之间的恶性DISTINCT
循环GROUP BY
我有以下虚拟表myTable
:
ID Street City PostalCode ProjectID Date NameId
1 Bar Street Sunny Beach 666 7 25/08/2013 111
2 Sin Street Ibiza 999 5 12/06/2013 222
3 Bar Street Sunny Beach 666 7 07/08/2013 333
4 Bora Bora Bora Bora 1000 10 17/07/2013 444
5 Sin Street Ibiza 999 5 04/07/2013 555
我想获取具有不同地址(街道、城市、邮政编码)和 ProjectID 的所有记录(可能是第一次出现)。例如这里的结果应该是:
ID Street City PostalCode ProjectID Date NameId
1 Bar Street Sunny Beach 666 7 25/08/2013 111
2 Sin Street Ibiza 999 5 12/06/2013 222
4 Bora Bora Bora Bora 1000 10 17/07/2013 444
我已经尝试过DISTINCT
所有列,但这不起作用,因为ID
它是唯一的并且总是返回所有列。也尝试过Group by Street, City PostalCode ProjectID
,但发生了关于Date
和的错误NameId
。
Column '' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
那么我怎样才能得到一个结果,其中列的子集是不同的?