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

标签 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

我想使用“fighters”表中的名称来输出“fightr_id1”,以及同样来自“fighters”表中的“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 的内容,我认为这可能是正确的选择。但我似乎无法弄清楚如何对选择查询进行编码。你能帮我吗?

提前谢谢您。

最佳答案

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

关于php - 如何连接两个表然后选择两个不同的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19613003/

相关文章:

MySQL 在 JOIN 值上执行 ORDER BY 时速度缓慢?

php - 在 Cakephp 中保存多次

php - 如何将本地 Laravel Web 项目上传到服务器?

mysql - 如何生成 SQL 查询

MySQL JOIN 与 WHERE IN

sql - 连接三张表,主表在中间

php - Laravel Eloquent 模型运行创建多少个连接?

php - Mysqli 抽象,从准备好的语句中获取数组

php - MySQL + PHP : fetching data using foreign keys

mysql - 我怎样才能加入空?