如何解决MYSQL创建“复杂”视图
因此,我正在尝试为我的朋友和我建立一个网站。在该站点中,我有一个表单来发起“战争”。提交表单时,它将保存到带有“攻击者”和“受害者”字段的表格中。我还有另一个名为accounts的表,以便他们可以登录到该站点。该另一个表具有“ id”列,“ discord_id”和“ username”。我如何创建一个MysqL视图以具有所有这样的列: 帐户:
+----+----------+----------------+------------+
| id | username | password | discord_id |
+----+----------+----------------+------------+
| 1 | user1 | users2password | users1id |
| 2 | user2 | users2password | users2id |
+----+----------+----------------+------------+
WARS:
+--------+-------------+-----------+
| war_id | attacker_id | victim_id |
+--------+-------------+-----------+
| 1 | 1 | 2 |
| 2 | 2 | 1 |
+--------+-------------+-----------+
我想要的结果
+--------+-------------+-------------------+-------------------+-----------+-------------------+-----------------+
| war_id | attacker_id | attacker_discor_id| attacker_username | victim_id | victim_discord_id | victim_username |
+--------+-------------+-------------------+-------------------+-----------+-------------------+-----------------+
| 1 | 1 | users1discordi | user1 | 2 | user2discordid | user2 |
| 2 | 2 | ... | ... | ... | ... | ... |
+--------+-------------+-------------------+-------------------+-----------+-------------------+-----------------+
此外,我还是个菜鸟,所以我不知道是否提供了所有必要的信息。如果您需要其他信息,请提出要求,我会尽快答复。 预先感谢
解决方法
从wars
表开始,您可以两次连接accounts
表,一次是攻击者,另一次是受害者-诀窍是为每个联接的表赋予不同的别名,因此您可以明确地参考他们的专栏文章:
create view wars_view as
select w.war_id,w.attacker_id,a1.discord_id attacker_discord_id,a1.username attacker_username,w.victim_id,a2.discord_id victim_discord_id,a2.username victim_username
from wars w
inner join accounts a1 on a1.id = w.attacker_id
inner join accounts a2 on a2.id = w.victim_id
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。