简体   繁体   English

SQL左加入仅一行

[英]SQL Left Join Only One Row

By using this SQL Query:通过使用此 SQL 查询:

SELECT pictures.IMAGELINK,userdata.BIRTHDATE,userdata.POSITION,InfiniteLove.USERNAME FROM 
InfiniteLove
LEFT JOIN pictures ON InfiniteLove.USERNAME = pictures.USERNAME
LEFT JOIN userdata ON InfiniteLove.USERNAME = userdata.USERNAME
WHERE NOT InfiniteLove.USERNAME = '".$USERNAME."' AND InfiniteLove.GENDER = 
'M' AND InfiniteLove.SEARCH = 'M' OR InfiniteLove.SEARCH = 'B'

I get this result:我得到这个结果:

在此处输入图片说明

The Problem is, that I only want ONE row from each user.问题是,我只想要每个用户的一行。 But when the user has more than one picture it is showing multiple rows.但是当用户有不止一张图片时,它会显示多行。

What can I do, that I get only one row from each user?我能做什么,我只能从每个用户那里得到一行?

Thanks谢谢

Add a GROUP BY clause添加GROUP BY子句

SELECT pictures.IMAGELINK,userdata.BIRTHDATE,userdata.POSITION,InfiniteLove.USERNAME FROM 
InfiniteLove
LEFT JOIN pictures ON InfiniteLove.USERNAME = pictures.USERNAME
LEFT JOIN userdata ON InfiniteLove.USERNAME = userdata.USERNAME
WHERE NOT InfiniteLove.USERNAME = '".$USERNAME."' AND InfiniteLove.GENDER = 
'M' AND InfiniteLove.SEARCH = 'M' OR InfiniteLove.SEARCH = 'B'
GROUP BY InfiniteLove.USERNAME

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

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