现在我正在用这段繁重的代码做我的事情:
$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/