![](/img/trans.png)
[英]Update one table based on values in another table using case statement (MYSQL)
[英]How to update a table due to case statement based on another table? (in Mysql)
我有2張桌子:
TBL1
TBL2
STDNum
是公共列。 在TBL1中,相同的STDNum可以具有多個具有不同ID的行(在TBL2中不是這種情況)。 我想要的結果是更新TBL2中的UpdateMe
列 ( 將其值設置為1 )IF( 並且只有IF ),將TBL1中針對特定STDNum的Check
列都設置為1 。
有人可以幫我嗎? 或有什么想法嗎?
UPDATE tbl2 b
INNER JOIN
(
SELECT STDNum
FROM tbl1 s
GROUP BY STDNum
HAVING MAX(s.check) = MIN(s.Check) AND
MAX(s.Check) = 1
) a ON a.STDNum = b.STDNum
SET b.UpdateMe = 1
要么
UPDATE tbl2 b
INNER JOIN
(
SELECT STDNum
FROM tbl1
GROUP BY STDNum
HAVING SUM(Check = 1) = COUNT(*)
) a ON a.STDNum = b.STDNum
SET b.UpdateMe = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.