我需要一些指导来编写最佳查询。我有一张看起来像这样的表:
CompanyID EmployerAddress DateVerified
1 12 Main St, Devon PA
2 32 Church St, Concord MA
3 12 Main St, Devon PA
4 999 Elm St, Salem MA
5 999 Elm St, Salem MA
我必须在C#程序中使用地理编码验证此雇主地址(我已经写过&适用于单个记录)。如果地址是好的,那么我将Dateverified更新为今天的日期。我有大约10000条记录。自公司ID 1和3; 4& 5有相同的地址,我不想验证每一个。如何按地址分组并更新日期?我用了
select
EMployeraddress,
CompanyID
from
Companies
group by
EMployeraddress,
CompanyID
having
count(EMployerAddress) > 1;
但这并没有给我正确的结果。任何人都可以帮助我。
由于 Rashmi
答案 0 :(得分:1)
好吧,如果地址只是一个表示地址的字符串,那么如果它不一致,那么你就不会有一致的结果。
通常,您将地址存储在单独的表中,并且您在Companies表中有一个指向Addresses表的外键。这样你就可以真正按外键分组。
如果你所拥有的只是一个字符串,那么就像我说的那样,如果它们没有被完整地输入,你就无法做到。
干杯
答案 1 :(得分:1)
你不需要id。
1)选择地址
select
EMployeraddress
from
Companies
group by
EMployeraddress
2)用你的代码检查
3)更新表
UPDATE your_table
SET DateVerified = (SELECT now())
WHERE EmployerAddress = 'your_address'
答案 2 :(得分:0)
我是对还是不对?但我认为你所需要的只是:
UPDATE Companies SET DateVerified = GETDATE()
WHERE EmployerAddress = 'TheVerified Address'