我一直在浏览几篇文章,但一直无法理解如何在PostgreSQL中实现以下功能
Table 1
---------
USER_ID NAME
1 User
2 Test
Table 2
--------
USER_ID WIDGET_ID WIDGET_CONFIG
1 1 abc
1 2 def
2 1 abc
2 2 def
我有2张桌子,我需要的是
我使用WITH语句可能完全以错误的方式扭曲了
WITH res AS (
SELECT agent_id FROM tbl_agent WHERE agentlogin_id='2man'
)
SELECT tbl_agentwidgetconfig
WHERE agent_id=res.agent_id AND widget_id=5;
// Update record code?
如果有人能够对正确的方法有所了解,那将非常感激!
答案 0 :(得分:0)
我认为你在描述这样的事情?
UPDATE
aw
SET
WIDGET_CONFIG = 'ghi'
FROM
tbl_agent a
INNER JOIN tbl_agentwidgetconfig aw ON aw.USER_ID = a.USER_ID
WHERE
a.NAME = 'Test'
AND aw.WIDGET_ID = 2;
答案 1 :(得分:0)
像这样的东西
itemScreen
答案 2 :(得分:0)
您也可以通过子查询执行此操作:
UPDATE table2
SET WIDGET_CONFIG = 'ghi'
WHERE WIDGET_ID = 2 AND USER ID = (SELECT USER_ID FROM table1 WHERE NAME = 'Test');