mysql - drupal7通过手动sql获取内容

标签 mysql database join drupal-7 inner-join

我正在尝试使用手动sql方法从drupal7表中获取所有文章,我正在尝试使用名为field_data_bodynode的表>、file_usagefile_management。我真正想要的是这样的:

body_value | body_summary | nid | title | created_time | uri

我使用了以下sql代码:

SELECT distinct body.body_value, body.body_summary, node.nid, node.title, FROM_UNIXTIME(node.created) as created, file_managed.uri
            FROM 
                node 
                    INNER JOIN field_data_body as body ON node.nid = body.entity_id
                    INNER JOIN file_managed ON file_usage.fid = file_managed.fid
            WHERE body.entity_id = node.nid
                AND node.type = 'article'
                AND node.status = '1'
            GROUP BY node.nid
            ORDER BY node.nid desc

它有效,但我只得到了那些带有图像文章,而其余的都被忽略了。有人可以建议我如何处理这些 sql 条件吗?

最佳答案

SELECT
  b.body_value,
  b.body_summary,
  n.nid,
  n.title,
  n.created,
  fm.uri
FROM
node n
LEFT JOIN field_data_body AS b ON n.nid = b.entity_id
LEFT JOIN file_usage AS fu ON fu.id = n.nid
LEFT JOIN file_managed AS fm ON fm.fid = fu.fid
WHERE n.type = 'article'
  AND n.status = '1'
GROUP BY n.nid
ORDER BY n.nid DESC;

关于mysql - drupal7通过手动sql获取内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34965678/

相关文章:

.net - MySQL 在 Finalize 中抛出 NullReferenceException ......你是如何处理这个问题的?

MySQL 用 WHERE 或 JOIN 清理 HAVING

java - 使用hibernate实现AES加解密

php - MySQL 将两个查询组合成 JSON 对象

php - Mysql sql 行到列

SQL 按行值分隔列(透视)

mysql - 加入触发器中的更新命令

java - 为什么我的项目中出现 "java.lang.ClassNotFoundException"错误

android - 启动第三个 Activity 时崩溃

MySQL - 如何在一个查询中选择多列?