mysql - Joomla DB 查询连接三个表

标签 mysql join joomla

在我的 Joomla 2.5 模板中,我使用以下 JOIN 查询从两个表中获取一些信息(#_content 和 #_attachments)

    ->select(array('a.description','a.display_name','a.parent_id','a.filename','a.url', 'b.title', 'b.id','b.state','c.title'))
    ->from('#__attachments AS a')
    ->join('INNER', '#__content AS b ON (a.parent_id = b.id)')
    ->where("b.state = 1")
    ->order("RAND()"); 

如何为表#_类别添加一个连接以获得类别标题(此处命名为“c.title”。)?类别行的 Id 在 #_content 中保存为 catid。我希望作业应该类似于:

->join('INNER', '#__content AS b ON (c.id = b.catid)')

谢谢

托尼

最佳答案

您需要添加:

->join('INNER', '#__categories AS c ON b.catid = c.id')

如果content中的项目可能没有附件并用作主表content,请考虑为附件添加LEFT JOIN

关于mysql - Joomla DB 查询连接三个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15448670/

相关文章:

mysql - 加入 "greater than"为左表返回多行

mysql - 连接 ~3 个表,并在仅为一张表设置 GROUP BY 之前按 ORDER BY DESC 进行排序

Joomla获取菜单项id

php - 如何从 Joomla 中的数据库获取文章的介绍图片路径

css - Joomla 1.5 到 2.5 CSS 更改

设置存储过程参数时出现mysql语法错误

php - 从动态href链接php链接到另一个php页面

mysql - 我试图从 dbvisualizer 连接 SQL 中的 3 列

MYSQL - 使用 OR 条件连接

MySQL:聚集(逻辑索引)保存的地方