php - 三次 INNER JOIN SELECT

标签 php mysql

我有一个页面想要使用 3 次 INNER JOIN,因为 log_items 有一行名为“price”。当我使用 log_mobs 和 log_mitem 进行 INNER join 时,一切都会正常,他从 $_GET['id'] 与 ['g'] 组合中获取所有信息,但是当我使用 log_items 加入时,他显示了来自的所有行表“log_items”

我想在页面上显示 MOB 旁边我想显示价格的商品。 但他显示了“log_items”中的所有信息我需要显示“log_mitem”中的项目,但我需要从“log_items”中获取这些价格

if (isset($_GET['id']) && isset($_GET['g']))
{
    $id     = $db->real_escape_string(trim($_GET['id']));
    $g     = $db->real_escape_string(trim($_GET['g']));
    $mobitem    = $db->query("SELECT * FROM log_mobs INNER JOIN log_mitem INNER JOIN log_items ON log_mobs.name = log_mitem.mobname AND log_mobs.game = log_mitem.game WHERE log_mobs.name = '".$id."' AND log_mitem.game = '".$g."'") or die($db->error);
?>

最佳答案

我认为你的 SQL 请求应该是这样的:

select * from log_mobs
inner join log_mitem on log_mobs.name = log_mitem.mobname
inner join log_items on log_items.column = theOtherSideOfTheJointure.column

关于php - 三次 INNER JOIN SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27045895/

相关文章:

php - 如何从mysql显示平均值

javascript - 使用 CryptoJS 解密 openssl_seal 中的密文

javascript - Jquery post...没有发布任何内容

mysql - 如何在 SQL 中实现类似集合的行为?

php - 使用 PHP 和 strotime() 函数查看和更改 mysql 上的数据

mysql - 我把phpmyadmin的mysql端口号改了,现在登不上了

MySQL - 在一列上使用 MAX() 并从该行的其余部分返回数据?

php - file_get_contents 相当于 gzip 文件

php - 如何让管理员在 laravel 中将特定类型的用户(学生)与另一种类型的用户(他们各自的导师)相匹配

php - Javascript 变量,发送到 PHP 变量