mysql - 具有 INNER JOIN 不同参数的多个 SQL 查询?

标签 mysql select inner-join

我不确定这个术语是什么,但我有一个 mysql 查询

SELECT name, invTypes.typeName, character_skills.trained_skill_level FROM character_skills INNER JOIN character_infos ON character_infos.character_id = character_skills.character_id INNER JOIN invTypes ON character_skills.skill_id = invTypes.typeID WHERE character_skills.active_skill_level <5 AND skill_id = 12203 AND name = 'Mokey PYD';

但是,有 2 个变量会发生变化,我需要在一个表中显示所有这些。

这两个变量是

WHERE character_skills.active_skill_level <5 AND skill_id = 12203

例如

我需要查看 active_skill_level is < 5 的值是否对于 skill_id 12203但还需要检查是否 active_skill_level < 4对于 skill_id 12204我需要这些显示在同一张 table 上...

有人可以帮我一下吗?非常感谢。

最佳答案

使用UNION ALL

SELECT name, invTypes.typeName, character_skills.trained_skill_level 
FROM character_skills INNER JOIN character_infos ON character_infos.character_id = character_skills.character_id 
INNER JOIN invTypes ON character_skills.skill_id = invTypes.typeID 
WHERE character_skills.active_skill_level <5 AND skill_id = 12203 AND name = 'Mokey PYD'
union all
SELECT name, invTypes.typeName, character_skills.trained_skill_level 
FROM character_skills INNER JOIN character_infos ON character_infos.character_id = character_skills.character_id 
INNER JOIN invTypes ON character_skills.skill_id = invTypes.typeID 
WHERE character_skills.active_skill_level <4 AND skill_id = 12204 AND name = 'Mokey PYD'

关于mysql - 具有 INNER JOIN 不同参数的多个 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56668131/

相关文章:

MySQL从一个表中减去第二个表中的某些行的值

sql - 有趣的多对多 sql 连接

mysql - 带标签的 CONCAT

sql - 在查询中为 'OR' 运算符创建索引

mysql - 是否可以使用 MYSQL 在表行数据中选择一个段落?

javascript - AngularJS 选择具有自动完成功能

php - 将选择表单的值保存到mysql数据库

php - 单击链接不会将我带到预期的页面。摘自 Murach PHP 书

mysql - MySQL语句末尾的\g是什么意思?以及如何修复未运行的查询?

mysql - 为什么查询这 3 个表时会看到重复项?