2015-05-31 1 views
3

Table1Объединение двух таблиц, но не получив никакого результата

Move1  Move2 
Fire  Ice   
Grass  Fire 
Ice   Grass   

Table2

Move  Power 
Fire  40 
Grass  30 
Ice   20 

У меня есть эти две таблицы, но когда я запускаю этот SQL заявление в WampServer, я получаю строки не вернулся:

SELECT * 
FROM Table1, Table2 
    INNER JOIN Table1 as Hello ON Hello.move1 = Table2.move 
    INNER JOIN Table1 as Meow ON Meow.move2 = Table2.move 

Обе таблицы находятся в одной базе данных, поэтому я не вижу свою ошибку. Я хочу, чтобы вернуть что-то вроде ...

TABLE1

Move1  Move2  Move  Power  Move  Power 
Fire  Ice  Fire  40  Ice  20 
Grass  Fire  Grass 30  Fire  40 
Ice   Grass  Ice  20  Grass 30 

Где я ошибся?

ответ

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

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 
Смежные вопросы