Php 如何仅显示与另一个表中的值匹配的行
在这种情况下它是如何工作的?我甚至尝试过使用“AND tb1.name!=”,但都没用Php 如何仅显示与另一个表中的值匹配的行,php,html,mysql,Php,Html,Mysql,在这种情况下它是如何工作的?我甚至尝试过使用“AND tb1.name!=”,但都没用 $area = 0; $stmt = $dbh->prepare('SELECT * FROM charinfo WHERE current_area != :area ORDER BY current_area'); $stmt->execute(array('area' => $area)); $result = $stmt->fetchAll(); $place = 1; 我运
$area = 0;
$stmt = $dbh->prepare('SELECT * FROM charinfo WHERE current_area != :area ORDER BY current_area');
$stmt->execute(array('area' => $area));
$result = $stmt->fetchAll();
$place = 1;
我运行一个游戏服务器,在网站上我有一个排名前30的排行榜,这是一个奇迹(发现代码直接从另一个主题在这里),我的问题是不能使用加入功能,每个人都建议,以防止管理员的字符被列为以及
这是我现在在我的网站上的代码,它在一个表中显示排名1-30、字符名和级别
'ID' is the subscriber ID which the 'sID' from chars table refers to
'admin' is the admin status of the account as Y or N
任何帮助都将不胜感激!这是我的第一篇帖子,所以关于未来帮助请求的提示也很好:)提前谢谢 可以使用NOT IN子查询
SELECT tb1.*
FROM chars tb1
JOIN subscriber tb2
ON tb1.sID=tb2.ID
WHERE admin = 'N'
ORDER BY CAST(experience AS UNSIGNED ) DESC
LIMIT 30;
见下文
SELECT chars.*
FROM chars
WHERE sID NOT IN (SELECT ID FROM subscriber WHERE subscriber.admin = 'Y')
ORDER BY CAST(experience AS UNSIGNED ) DESC
LIMIT 30;
非常感谢,这是我被建议的,但我不知道如何复制和工作!救生员!
SELECT tb1.*
FROM chars tb1
JOIN subscriber tb2
ON tb1.sID=tb2.ID
WHERE admin = 'N'
ORDER BY CAST(experience AS UNSIGNED ) DESC
LIMIT 30;
SELECT chars.*
FROM chars
WHERE sID NOT IN (SELECT ID FROM subscriber WHERE subscriber.admin = 'Y')
ORDER BY CAST(experience AS UNSIGNED ) DESC
LIMIT 30;