首页 > 解决方案 > 数据库查询未提取完整(或正确)信息

问题描述

我一直在研究一个多表查询(我没有太多经验),起初我认为它工作得非常好,直到我注意到一半的结果有空值。我已将查询和表结构放在下面,因此将不胜感激!

SELECT
  i.name, i.material, i.price, a.str_mod, a.def_mod, 
  a.dex_mod, a.spd_mod, i.level_req 
FROM `character` as c 
LEFT JOIN item_owned as o ON c.uid = o.oid 
LEFT JOIN items as i ON o.iid = i.id 
LEFT JOIN armour as a ON i.id = a.aid 
WHERE uid = :id AND o.equipped = 1 AND i.type = 'Armour'

上面是我一直在运行的查询,下面是表结构 盔甲表 项目表 物品拥有表

标签: mysql

解决方案


由于 Malfunct on discord 找到了解决方案...查询有一个列错字所以应该是

SELECT 
    i.name, i.material, i.price, a.str_mod, a.def_mod, a.dex_mod, a.spd_mod, i.level_req 
FROM `character` as c 
JOIN item_owned as o ON c.uid = o.oid 
JOIN items as i ON o.iid = i.id 
JOIN armour as a ON i.id = a.aid WHERE uid = 1 
AND o.equipped = 1 
AND i.type = 'Armour'

推荐阅读