Php SQL联接以更新另一行具有2的行?
这就是我尝试过的:Php SQL联接以更新另一行具有2的行?,php,sql,Php,Sql,这就是我尝试过的: UPDATE tbl_questions JOIN (SELECT tbl_users.uid, tbl_users.is_spam FROM tbl_users JOIN tbl_questions ON tbl_users.uid = tbl_questions.uid ) SET question_type_id = 2 WHERE is_spam = 2; 我想将这些问题question\u type\u id更新为2,其中用户表为\u spam=2。 我的sql
UPDATE tbl_questions
JOIN (SELECT tbl_users.uid, tbl_users.is_spam
FROM tbl_users JOIN tbl_questions ON tbl_users.uid = tbl_questions.uid
)
SET question_type_id = 2
WHERE is_spam = 2;
我想将这些问题question\u type\u id更新为2,其中用户表为\u spam=2。
我的sql写为错误每个派生表都必须有自己的别名
tbl_questions => uid, question_type_id,
tbl_users => uid, is_spam,
子查询必须具有别名
UPDATE tbl_questions
JOIN
(
SELECT tbl_users.uid, tbl_users.is_spam
FROM tbl_users
JOIN tbl_questions ON tbl_users.uid = tbl_questions.uid
) sub_query_alias on sub_query_alias.uid = tbl_questions.uid
SET question_type_id = 2
WHERE is_spam = 2;
我在上面的查询中使用了sub\u query\u alias
。更简单的查询是
UPDATE tbl_questions q
JOIN tbl_users u ON u.uid = q.uid AND u.is_spam = 2
SET q.question_type_id = 2
请检查以下内容:-
将tbl\U问题中的t1集t1.QUOTE\U type\U id=2更新为t1
在t1.tbl_questions.uid=t2.uid上以t2的身份加入tbl_用户,其中t2.is_spam=2 我添加了一个更简单的查询版本。