我在查询两张桌子。表格page
包含信息,page_images
包含图片。在page_images
中,我存储了所有图像元数据和页面url_title,因此它可以与表page
相关联。当我查询信息和图像时,我得到了page_images
的重复结果,因为每个页面都有多个图像。在查询page_images
和page
时如何限制page_images
的1?
这是缩短的查询:
SELECT page.url_title,
page.short_title,
page_images.image_loc -- This returns duplicate results
FROM page, page_images
WHERE page.language = '$lang' AND
page.category = '$category' AND
page.url_title != '$page' AND
page.url_title = page_images.page_title
LIMIT 20
答案 0 :(得分:-1)
如果您只想提取一个结果,请使用LIMIT 1
答案 1 :(得分:-1)
看起来你错过了INNER JOIN
。
尝试:
SELECT page.url_title,
page.short_title,
page_images.image_loc -- This returns duplicate results
FROM page inner join page_images
on page.id = page_images.page_id
WHERE page.language = '$lang' AND
page.category = '$category'
其中page.id是页表的主键,page.page_id是page_images表的外键。