【发布时间】:2016-03-19 18:40:53
【问题描述】:
我正在尝试使用 where 子句对 2 个表的内部联接进行更新。 我目前有一个半工作更新。如果两个条件为真,我只想更新一个表。我想我需要有 1 个内部和 1 个外部加入才能做到这一点,我不知道该怎么做。
我有一组带有选择的票,我想将 45 添加到具有特定选择但不包括另一个选择的票中。
如果票有 team_ID = 31 而不是 team_ID = 49 的选择,则将 45 添加到 rd_1 如果票有选择,其中 team_ID = 49 而不是 team_ID = 31 将 45 减去 rd_1 如果一张票两者都不做 如果一张票既没有什么也不做
门票
ID | rd_1 |
1 | 100 |
2 | 105 |
3 | 155 |
挑选
ID | ticket_ID | team_ID
1 | 1 | 31
2 | 1 | 49
3 | 2 | 31
4 | 2 | 10
5 | 3 | 49
6 | 3 | 50
预期结果
门票
ID | rd_1 |
1 | 100 |
2 | 150 |
3 | 110 |
这是我尝试过的。 这将为所有 team_ID 为 49 的选秀添加 45。从这里我想排除 team_ID =31 的选秀
UPDATE database.ticket t INNER JOIN
database.picks p
ON t.ID = p.ticket_ID
SET t.rd_1 = t.rd_1 +45
WHERE p.team_ID = 49;
【问题讨论】:
标签: mysql join sql-update inner-join outer-join