我有一张将联系人与公司关联的表。如果添加了多个联系人,则可以选择设置“主要”或“次要”联系人。然而,当人们添加联系人时,他们并未使用此功能。该程序已被修改,因此它会自动将首次添加到公司的联系人标记为主要联系人,但不会修复已输入的数据。SQL:更新基于列的唯一行
我想查询表,并说,如果只有一个创纪录的CompanyID设置PrimaryContact为真,但我无法弄清楚如何做到这一点。对于任何有多名联系人的公司我都不想做任何事情。例如:
CompanyID ContactID PrimaryContact
1 285 0
2 375 0
3 761 0
4 1744 0
4 2301 0
6 335 0
6 4987 0
9 809 0
9 2119 0
10 99 0
11 99 0
在上述例子中CompanyID 4,图6和9具有多个条目,所以我不想触及那些。但是1,2,3,10和11有单个条目,所以我想为这些行设置PrimaryContact为1。
这怎么办?
我以前的查询是错误的,试试这个查询更新接触点C1设置PrimaryContact = IF((SELECT COUNT(从通讯录C2 1)其中c2.CompanyID = c1.CompanyID通过c2.CompanyID组) > 1,0,0) –