微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MYSQL创建“复杂”视图

如何解决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 举报,一经查实,本站将立刻删除。