php - Mysql 两个表之间的多重联接

标签 php mysql

我有两张 table 。第一个用于新闻,第二个用于图像。每个新闻可以有 0-3 个图像(新闻表中的 image_1、image_2、image_3 - 其 id)。现在我试图从图像表中获取所有行,但它只给我返回一行。

就像这样(但不起作用)

select news.id as nid, image_1, image_2, image_3, photos.id as pid, big, small
from news
left join photos
on image_1=photos.id, image_2=photos.id, image_3=photos.id
order by nid desc

最佳答案

甚至 @juergen 也提出了更好的选择,并指导您如何以自己的方式解决问题,但如果您仍然面临如何做的问题,那么您可以按照以下查询 -

SELECT p.id AS pid, n1.image_1, n2.image_2, n3.image_3, big, small
FROM photos AS p
LEFT JOIN news AS n1 ON n1.image_1=p.id 
LEFT JOIN news AS n2 ON n2.image_2=p.id 
LEFT JOIN news AS n3 ON n1.image_3=p.id 
ORDER BY n.id DESC;

关于php - Mysql 两个表之间的多重联接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32182303/

相关文章:

mysql - EBean 映射 bool 值默认为 false 而不是 null

mysql - PHPMyAdmin 不导入 CSV 文件

php - 使用 wordpress xmlrpc API 的最简单的库是什么

php - 需要使用 pdo 检索 sql 数据库中的单个单元格

php - 哪种方式在mysql上存储统计数据更有效?

mysql - SQL select语句优化(id,parent_id,child_ids)

mysql - 使用 JOIN、GROUP BY 和 HAVING 从表中删除

c# - 从三个表中检索数据

php - 连接尝试时出现奇怪的主机

php - 如何防止刷新时重复插入数据库?