我有两张桌子X和Y:
我只能从输入中获取与X相关的Name值。
我需要在Y
中更新Y值我不想两次打到数据库;即:通过匹配名称值获取X中的ID值并返回此值以通过WHERE更新Y中使用
如何编写此SQL查询,是否有可以编写的复杂查询?
任何帮助都会很棒。
答案 0 :(得分:0)
我不确定我理解你的问题,但是:
update Y
set ...
where Y.X_ID in (select X.ID from X where X.Name = '...');
这将更新那些Y
X_ID
行引用X
行且匹配Name
值的行。
答案 1 :(得分:0)
在单个查询中更新的一种方法是
UPDATE
Table_A
SET
Table_A.col1 = Table_B.col1
FROM
Y AS Table_A
INNER JOIN X AS Table_B
ON Table_A.id = Table_B.id
WHERE
Table_A.col3 = 'cool'