php - 在一个 MySQL 请求中从另一个 SELECT 中选择一个表?

标签 php mysql

现在我正在用这段繁重的代码做我的事情:

$arrayid = array();
$req = $mysqli->query("SELECT * FROM sc_users_teaching WHERE lesson = '_ADOBE_PHOTOSHOP_' ORDER BY lesson DESC");
while($liste_resultat = $req->fetch_assoc()) {
$ID_USER = $liste_resultat['ID_USER'];
    $req_user = $mysqli->query("SELECT * FROM sc_users WHERE ID_USER = '$ID_USER' LIMIT 0,1");
    $liste_user = $req_user->fetch_assoc();
        $lastconnexion = $liste_user['lastconnexion'];
        $arrayid[$ID_USER] = $lastconnexion;
}
arsort($arrayid);
foreach ($arrayid as $key => $val) {
    //select in sc_users table where ID_USER is $key;
}

所以目标是选择sc_users_teaching表中的所有ID_USER,然后在sc_users中找到ID_USER并排序通过lastconnexion

我不知道如何提出请求(UNION 或 JOIN?),所以如果您能帮助我,我将不胜感激。

谢谢!

解决方案: “SELECT * FROM sc_users WHERE ID_USER IN (SELECT ID_USER FROM sc_users_teaching WHERE Lesson = '_ADOBE_PHOTOSHOP_') ORDER BY lastconnexion ASC”

谢谢你

最佳答案

因此,您需要做的是从 sc_users_teaching 中获取 ID_USER 并从 sc_users 中找到 ID_USER >

首先,我们可以从表 sc_users 中选择所有项目,并找到带有子查询的 ID_USER,如评论中提到的@u_mulder,如下所示。

SELECT * FROM sc_users WHERE ID_USER IN (SELECT ID_USER FROM sc_users_teaching WHERE lesson = '_ADOBE_PHOTOSHOP_' ) ORDER BY lastconnexion ASC;

关于php - 在一个 MySQL 请求中从另一个 SELECT 中选择一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27150714/

相关文章:

php - 如何在PHP代码中添加测试参数

php - SQL获取多个相同行

python - 解压 python 列表以传递给 MySQL WHERE 子句?

mysql 客户端 : how to list all databases I have permisions to create/read/update/delete?

javascript - 序列化表单 - 输入具有相同的名称

php - 如何更改 Carbon 的 diffForHumans 格式

php - 请求的链接库 openssl 安装了错误的版本

php - 防止在 MySql 中插入匹配行

php - Symfony 中的重定向响应

PHP关键字函数在合并两个数组后中断