繁体   English   中英

MySQL-将两行合并为两列

[英]MySQL - Join two rows to two columns

我有两个表: userphoto 他们看起来像这样:

数据库表

我需要基于uuiduser表上执行SELECT,如果profile_photobackground_photo都存在,则返回url

这些本质上是我需要的最后一个字段(后两个是从photo ):

user.nameuser.profile_photo_urluser.background_photo_url

在哪里user.uuid = SOME_UUID

有人可以用这句话为我指出正确的方向吗?

SELECT user.name, photo_a.url AS profile_photo_url, photo_b.url as background_photo_url FROM user LEFT JOIN photo as photo_a ON user.profile_photo_uuid = photo_a.uuid LEFT JOIN photo as photo_b ON user.background_photo_uuid = photo_b.uuid WHERE user.uuid = SOME_ID

这应该为你工作

SELECT u.name,u.profile_photo_uuid,u.background_photo_url FROM user u, photo p 
WHERE u.uuid = **userid** AND 
( p.uuid = u.profile_photo_uuid  OR p.uuid = u.background_photo_url);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM