如何连接两个表然后选择两个不同的列?

时间:2013-10-26 23:24:33

标签: php mysql join

我搜索并试图找到一个解决方案一个星期了,但我卡住了。我试图在一个表中选择两个不同的列,并将它们与另一个数据库进行比较。这是我的设置:

Table 1: fighters
  fightr_id     fightr_namn         fightr_record   fightr_nick
  1             Brock Lesnar        5-3-0 (0)       Brockan
  2             Frank Mir           5-1-0 (0)       Fettot
  3             Martin Johansson    2-33-1 (0)  
  4             Mirko Filipovic     12-22-0 (0)     cro cop

这是我想要作为“主人”的表格:

Table 2: Matches
  match_id  gala_id     fightr_id1  fightr_id2   match_order
  3         14          1           2            0
  4         14          3           4            1

我想用“战士”表中的名字来代替“fightr_id1”,以及作为名字的“fightr_id2”,也可以从“战士”表中取代。

这是我想要的输出:

<?php while( $row = mysql_fetch_assoc( $document_get)) { ?>
    <tr><td><?php echo $row['match_ordning']; ?> </td> 
    <td>Fighter 1: <?php echo $row['fightr_name']; ?></td>
    <td>Fighter 2: <?php echo $row['fightr_namn']; ?></td></tr>

<?php } ?>

我试图阅读有关加入SQL的内容,我认为这可能是要走的路。但我似乎无法找出对选择查询进行编码的hos。你能救我吗?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

select 
  m.match_id, 
  f1.fightr_namn as fighter1Name, 
  f2.fightr_namn as fighter2Name 
from matches m
inner join fighters f1 on m.fightr_id1 = f1.fightr_id
inner join fighters f2 on m.fightr_id2 = f2.fightr_id

http://sqlfiddle.com/#!2/31875f/3