【问题标题】: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

我哪里做错了?

【问题讨论】:

    标签: mysql sql-server wampserver


    【解决方案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中测试这个

      【讨论】:

        猜你喜欢
        • 2015-09-05
        • 1970-01-01
        • 2021-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多