请帮助我解决MS Access中的此问题。我想使用将在user table
中获得的statusid
更新我的userstatus table
。
此查询在MySQL中正常工作。为什么在MS Access中没有。具有字符串参数的内部联接不起作用。
UPDATE tbl_users AS us
INNER JOIN tbl_userstatus AS ust ON ust.status = "Offline"
SET us.statusid = ust.statusid
WHERE us.username = "francis";
答案 0 :(得分:2)
在MS Access中,您可以尝试:
UPDATE tbl_users AS us, -- MS Access does not support explicit CROSS JOIN
tbl_userstatus AS ust
SET us.statusid = ust.statusid
WHERE us.username = "francis" AND ust.status = "Offline";
在任何一个数据库中,您都可以使用:
UPDATE tbl_users
SET statusid = (SELECT ust.statusid FROM tbl_userstatus AS ust ON ust.status = "Offline")
WHERE username = "francis";
这完全不一样。但是我假设tbl_userstatus
的“脱机”行只有一行-在这种情况下,它们是等效的。
答案 1 :(得分:0)
尝试如下操作,假设statusid
是两个表之间的联接列,并猜测您要使用列{{1}的数据status
更新用户表的tbl_userstatus
列}
status