php - 将所选内容保存在变量中,然后使用该变量进行下一次选择

标签 php mysql sql

我的数据库中有多个表。假设表 users 看起来像这样:

Users:
|id|name|gender|access|id_ext|
|1 |  a |  m   |   1  |  32  | 
|3 |  b |  m   |   3  |  33  | 
|4 |  c |  m   |   1  |  34  | 
|5 |  d |  f   |   1  |  35  |

我想用例如 id_ext = 32 选择用户,然后使用所选用户字段运行另一个选择语句。

我可以通过先让用户查询然后创建另一个包含用户信息的查询来解决这个问题,但是必须有一种方法可以在同一个查询中执行此操作吗?

这是我现在使用的查询:

SELECT * FROM users NATURAL JOIN
(SELECT id FROM ages WHERE age BETWEEN
(SELECT limit_age_l FROM users WHERE id=17)
AND (SELECT limit_age_h FROM users WHERE id=17)) as a
WHERE NOT id = 17
AND locale = 'en_US'
AND limit_gender = 1
AND visible = 0
AND NOT EXISTS (SELECT view_id FROM matches WHERE user_id = 17 AND view_id = a.id)
LIMIT 1

问题是查询中的值 id=17limit_gender=1locale = 'en_US' 未知。这些是从 id_ext = '32' 的用户处获取的。

最佳答案

SELECT * FROM Users WHERE id in (SELECT id FROM Users WHERE id_ext='32');

关于php - 将所选内容保存在变量中,然后使用该变量进行下一次选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8667576/

相关文章:

javascript - php echo 添加 "0' );</script>"到输出的末尾

mysql - 如何在 Mac OS Sierra 中使用 Perl/CGI 连接 MySQL?

sql - 使用强制转换将 varchar 转换为日期

sql - 在 DB2 的存储过程中动态定义变量类型

php - 在继续之前等待 curl 完成?

PHP - 批量邮件和检查服务器响应

mysql - 当三个重复但不只是一个重复时更新重复列

mysql - 唯一索引是否提供与基本索引相同的好处

javascript - 通过 AJAX 编辑/更新 php 中的数据

mysql - 按最常见类型的顺序获取电影,然后是关键字