这是一个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上给我一个错误
还有其他想法吗?
谢谢大家
答案 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)
(无法将问题标记为重复,因为该问题没有投票或接受答案)