gpt4 book ai didi

MySQL View 将 3 个字段链接到另一个表中具有不同值的相同字段

转载 作者:行者123 更新时间:2023-11-29 06:07:02 24 4
gpt4 key购买 nike

我有 2 个表,usersuser_images。在 users 表中,每个用户有 3 种尺寸,由 users 表中的外键标识,该外键是 user_images 的主键 table 。所以 users.small_image_idusers.medium_image_idusers.large_image_id 都引用了 user_images 表中的不同行.我正在尝试编写一个 View ,其中您所看到的只是每个名为 small_image_urlmedium_image_urllarge_image_url 的图像大小的 image_url 。如何从同一个表中区分这些列的值?感谢您的帮助!

因此生成的 View 架构最终看起来像...

    user_id | user_name | small_image_url | medium_image_url | large_image_url

最佳答案

您需要三次连接到 user_images 表,以将三种图像尺寸组合为与相应用户在同一行中的列。

CREATE VIEW AS users_with_their_images AS
SELECT u.id,
uis.url AS small_image_url,
uim.url AS medium_image_url,
uil.url AS large_image_url
FROM users AS u
LEFT OUTER JOIN user_images uis ON uis.id = u.small_image_id
LEFT OUTER JOIN user_images uim ON uim.id = u.medium_image_id
LEFT OUTER JOIN user_images uil ON uil.id = u.large_image_id;

这就是联接的特点:它把联接中每个表的一行并排粘在一起。

如果要向其中添加多行,则需要多个联接。

关于MySQL View 将 3 个字段链接到另一个表中具有不同值的相同字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40858594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com