JOIN上有错误

时间:2016-04-08 10:29:05

标签: firebird

这是一个Firebird数据库。

第一张表

联系人 Company_ID - job_title

第二张表

Client_id - Co_name

在联系人中,我希望job_title字段包含co_name。

client_id和company_id是一样的。 Co_name对应于company_id以及client_id。

这样:

UPDATE Contacts
SET Contacts.Job_title = Clients.co_name
WHERE
    company_id IN (
        SELECT
            client_id
        FROM
            clients
        JOIN Contacts c ON Client_id = company_id
        WHERE
            record_status = 'A'
    )

给我一​​个无法找到的错误(clients.co_name)

另一个选择:

UPDATE Contacts
JOIN Clients ON Clients.Client_id = Contacts.Client_id
SET Contacts.Job_title = Clients.Client_name

在JOIN上给我一个错误

还有其他想法吗?

谢谢大家

1 个答案:

答案 0 :(得分:0)

可能已经在这里回答:Update records in one table using another table's records as WHERE parameters - 看起来它应该有用,但我不是Firebird专家。

该答案的代码(但寻找更多背景和替代答案):

UPDATE Table1
SET Column1 = NULL
WHERE NOT EXISTS 
    (SELECT 1 
    FROM Table2 
    WHERE Table2.Column2 = Table1.Column2)

(无法将问题标记为重复,因为该问题没有投票或接受答案)