我在我的公司中使用Postgresql作为主存储,并且我努力实现涉及三个不同表的更新查询。涉及三个表的复杂更新
这里是模式:
- 表1已ENTITY_ID,ENTITY_TYPE和COMPANY_ID(引用Company.id)列。
- 公司有id列
- Special_company具有ID(其对应于Table1.entity_id)和COMPANY_ID(参照Company.id)
我想更新表1中的所有行,其中Table1.entity_type = 'SpecialCompany'
为了填写Table1.company_id
这样的:
Table1.entity_id = SpecialCompany.id and SpecialCompany.company_id = Company.id
我已经开始类似的东西:
UPDATE Table1
SET company_id = (select c.id
FROM company c
INNER JOIN special_company w ON c.id=w.company_id
WHERE w.id=709)
WHERE entity_type='SpecialCompany' AND entity_id=709;
但我无法用所有替代709
,其中Table1.entity_type = 'SpecialCompany'
。
任何帮助将不胜感激。
我没有时间看看这个。我的查询在MSSQL中工作。我没有意识到这是Postgre。对于那个很抱歉。 – Krishna