MySQL 使用内连接语法从两个表中检索数据

标签 mysql sql

我的两张表是

Entry
event_id   competitor_id   place
101        101             1
101        102             2
101        201             3
101        301             4
102        201             2
103        201             3

第二个表格列出了事件提供的奖品

Prize
event_id   place          money
101        1              120
101        2              60
101        3              30
102        1              10
102        2              5
102        3              2
103        1              100
103        2              60
103        3              40

由此,我希望显示参赛表中的所有信息以及他们因获得尊敬的名次而赢得的奖金数额。如果他们未能投入钱,则将显示 0。

如有任何帮助,我们将不胜感激。

最佳答案

试试这个:

SELECT  a.Event_ID, 
        a.Competitor_ID,
        a.Place,
        COALESCE(b.money, 0) as `Money`
FROM    entry a left join prize b
            on  (a.event_id = b.event_ID) AND
                (a.place = b.Place)

希望这对您有所帮助。

EVENT_ID    COMPETITOR_ID   PLACE   MONEY
101           101            1      120
101           102            2       60
101           201            3       30
101           301            4        0   -- << this is what you're looking for
102           201            2        5
103           201            3       40

关于MySQL 使用内连接语法从两个表中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10423479/

相关文章:

php - echo 不显示,或添加ID,但在数据库中显示

html - 如何在MySQL的同一个表中多次从同一列检索数据?

sql - 如何向 SQL Server 中的表添加不允许空值的列?

mysql - asp.net中的mysql如何转义?

sql - 创建 SQL 查询以检索最新记录

php - 使用php从数据库中填充html页面上的下拉菜单

mysql - 谁能帮我看看这个 SQL 查询

php - 在不处理用户输入时使用未经准备的 SQL 查询的潜在危险?

php - 如何给每个元素一个特定的 url - PHP

mysql - 将 ORDER BY 应用于 UNION MYSQL