在这里,我有两个名为test和test2的表。
测试如下
test2如下
我使用下面的sql代码来获得以下输出。
UPDATE `test`
SET `availability` = 'ok'
WHERE
`id` = '(SELECT
test.id
FROM
test2
INNER JOIN test ON test.id = test2.PId)';
我需要以下输出。但它没有产生任何结果。善意的帮助。如果我的结局有任何错误,或者如果有任何最好的方法可以获得低于产量,请提及
答案 0 :(得分:1)
我认为您正在寻找符合
的内容UPDATE test
INNER JOIN test2 on test.id = test2.PId
SET test.availability = 'OK'
答案 1 :(得分:0)
听起来你不需要更新,只需要一个带连接的查询:
SELECT test.id, test.name, CASE WHEN teste2.pid IS NOT NULL THEN 'OK' END
FROM test
JOIN test2 ON test.id = test2.pid
答案 2 :(得分:0)
我不确定这是否有用。但是,我们都在这里试试..
UPDATE `test`
SET `availability` = 'ok'
WHERE
`id` in '(SELECT
PId from test2)';
我不明白,为什么你需要内部联接。你只需要那些存在于test2表中的id,然后只需要它。 虽然我已经使用过'关键字,请尝试使用' ='另外,但我怀疑它会起作用,因为内部查询返回了一个id' s.thanks的列表。