gpt4 book ai didi

php - 选择连接的行

转载 作者:行者123 更新时间:2023-11-29 04:03:52 24 4
gpt4 key购买 nike

如果我有这两行:

Users Table      UserId  |  Username  |  Etc...
5 | John |

Avatars Table Id | UserId | ImageName | ImageType
1 | 5 | example.png | original
2 | 5 | example_thumb.png | thumbnail

我有:

SELECT * FROM Users JOIN Avatars 
ON Users.UserId=Avatars.UserId WHERE Users.UserId = '5'

我是否必须添加额外的:

AND Avatars.ImageType = 'thumbnail'

或者有没有办法用 php 来全选并得到我想要的(很像一个数组:$var['something'])??

或者是否可以使用诸如“AS”子句之类的东西将它们与 mysql 区分开来??

最佳答案

如果不使用 ImageType 条件进一步限定连接,您将获得每个用户记录的多行。

编辑例如

SELECT u.UserId, u.Username, a.ImageName, a.ImageType
FROM Users u
INNER JOIN Avatars a ON u.UserId = a.UserId
WHERE u.UserId = 5

UserId Username ImageName ImageType
----------------------------------------------------
5 John example.png original
5 John example_thumb.png thumbnail

编辑#2:如果您希望两张图片都在一行中,请使用此查询

SELECT u.UserId, u.Username,
orig.ImageName as OriginalImage, thumb.ImageName as ThumbImage
FROM Users u
INNER JOIN Avatars orig ON u.UserId = orig.UserId
AND orig.ImageType = 'original'
INNER JOIN Avatars thumb ON u.UserId = thumb.UserId
AND thumb.ImageType = 'thumbnail'
WHERE u.UserId = 5

请注意,这只会返回在 Avatars 中为用户提供两种图像类型的行。如果你想得到一个结果而不考虑头像图像的存在,使用左连接。

关于php - 选择连接的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5334463/

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