简体   繁体   中英

how to select distinct rows from two tables linked with foreign key

I want to show images from database.I have two tables gallery_photos

gallery_category 在此处输入图片说明

I want to show any photos_filename with category_name. photo_category is the foreign key of category_id

mysql query i wrote

SELECT distinct a.category_name
       ,b.photo_filename 
FROM gallery_category a  
inner join gallery_photos b  on (a.category_id=b.photo_category)

please help me to do that...

i want to select exactly like this

albums/1456226111.jpg interior
albums/1456226239.jpg graphics
albums/1456226339.jpg random
albums/1456226478.jpg goods

you can grouping it by group by

SELECT a.category_name,b.photo_filename 
FROM gallery_category a  JOIN gallery_photos b  
ON a.category_id=b.photo_category 
GROUP BY a.category_name

Use Left join to keep all the rows in the left table.

SELECT 
  b.photo_filename, 
  a.category_name 
FROM 
  gallery_category a  LEFT join gallery_photos b  ON (a.category_id=b.photo_category)

check this out!

What's the difference between INNER JOIN, LEFT JOIN, RIGHT JOIN and FULL JOIN?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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