加入两个表但没有结果
Posted
技术标签:
【中文标题】加入两个表但没有结果【英文标题】:Joining two tables but getting no result 【发布时间】:2015-08-13 19:35:41 【问题描述】:表1
Move1 | Move2 |
---|---|
Fire | Ice |
Grass | Fire |
Ice | Grass |
表2
Move | Power |
---|---|
Fire | 40 |
Grass | 30 |
Ice | 20 |
我有这两个表,但是当我在 WAMPServer 中运行这个 SQL 语句时,我没有返回任何行:
SELECT *
FROM Table1, Table2
INNER JOIN Table1 as Hello ON Hello.move1 = Table2.move
INNER JOIN Table1 as Meow ON Meow.move2 = Table2.move
两个表都在同一个数据库下,所以我看不到我的错误。我希望它返回类似...
表1
Move1 | Move2 | Move | Power | Move | Power |
---|---|---|---|---|---|
Fire | Ice | Fire | 40 | Ice | 20 |
Grass | Fire | Grass | 30 | Fire | 40 |
Ice | Grass | Ice | 20 | Grass | 30 |
我哪里做错了?
【问题讨论】:
【参考方案1】:你的代码有几个方面是错误的,你应该学习如何使用 SQL 连接(This 是一个很好的基本解释)
就解决您的问题而言,试试这个:
SELECT *
FROM table1 INNER JOIN table2 t2_m1
ON table1.move1 = t2_m1.move INNER JOIN t2_m2
ON table1.move2 = t2_m2.move
【讨论】:
【参考方案2】:这应该可行:
select
m.move1,
m.move2,
m1.move,
m1.power,
m2.move,
m2.power
from
table1 m
join table2 m1 on m1.move = m.move1
join table2 m2 on m2.move = m.move2
你可以在SQL Fiddle中测试这个
【讨论】:
以上是关于加入两个表但没有结果的主要内容,如果未能解决你的问题,请参考以下文章
您可以从位于单个结果集中的两个单独的表中提取数据吗? [不加入问题]