来自相互交互的两个表的 MySQL 请求
我有的桌子 表1 user_id,日期
Table2 user_id, status
我需要类似的东西
UPDATE Table2
SET status = 2
WHERE user_id in ( {SELECT user_id FROM Table1 WHERE date > 0} )
换句话说,我需要查看 table1 中的日期是否大于 0000-00-00,然后获取符合此条件的人员的 user_id并在 table2 中使用它们将其状态设置为 2。 问题是我需要为多个用户执行此操作,因此请求内的请求对我不起作用,它仅在结果中有一行时才起作用。
Tables i have
Table1 user_id, date
Table2 user_id, status
I need something like
UPDATE Table2
SET status = 2
WHERE user_id in ( {SELECT user_id FROM Table1 WHERE date > 0} )
In other words i need to see if date in table1 is more than 0000-00-00 then grab user_id of people who match this criteria and use them in table2 to set their status to 2.
Problem is that i need to do it for more than one user so request inside request does not work for me, it only works when there's one row in result.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为你写的应该有效,但是花括号是怎么回事?只需删除它们即可:
根据 MySQL 文档,IN 应该与子查询一起使用。
I think what you've written should work, but what's with the curly braces? Just remove them to make it like this:
According to the MySQL documentation, IN should work with a subquery.
您是否使用 PHP 或其他语言来进行 SQL 调用?如果是这样,可能会更容易,
问候,
标记
Are you using PHP or some other language to make SQL calls? If so, it might easier to just,
Regards,
Mark