2009-12-18 58 views
2

我需要标识我们活动客户端的所有联系人记录,即使只有一个的客户端联系人记录被标记为ACTIVE想要使用IF THEN

具体来说,我想拉在其中任何一个公司的联系人记录已经公司帐户状态标记为ACTIVE CLIENT我的GoldMine数据库中所有公司的所有联系人记录。然后我计划采用SQL输出,创建一个组,从该列表中获取所有联系人记录,并将公司的帐户状态字段从blank or null更换为ACTIVE CLIENT

+0

你能给你的表结构的详细信息?什么味道的SQL? – Blorgbeard 2009-12-18 23:56:38

回答

0

你是说你想要的东西等于这样的东西?

UPDATE Company 
SET active = 1 
WHERE CompanyID IN (
    SELECT 
     Client_CompanyID 
    FROM 
     Contacts   -- or do you mean clients? 
    WHERE 
     IsActive = 1 
) 

如果不是,请让我们知道除此之外您想要什么。

而且,拜托,请不要说“而且这必须在MySQL 3.x或4.x中工作。”

1

好的,这听起来像你有一个活跃的客户(公司)列表,此外,你有一个特定客户(公司)的所有联系人(人)列表。

您似乎想要为特定客户端(公司)获取所有联系人(人员),并将该客户(公司)的所有联系人(人员)的帐户状态列更新为“活动客户端”只要该客户(公司)的联系人(人员)的至少一个的帐户状态列为“活动客户端”。

如果这些都是正确的要求,那么你可以这样做:

UPDATE Contacts 

SET Account_Status = 'ACTIVE CLIENT' 

WHERE Client_ID IN (SELECT Client_ID 
    FROM Contacts 
    WHERE Account_Status = 'ACTIVE CLIENT')