【问题标题】:How to retrieve the sum from WordPress custom fields database, from the same column如何从 WordPress 自定义字段数据库中检索总和,从同一列
【发布时间】:2013-11-24 20:21:48
【问题描述】:

这是我的查询。所以我需要从仅在组件 1 和 2009 年的预算元键的值中检索总和。我该怎么做。在此先感谢

SELECT SUM(
b.meta_value)
, b.meta_key
FROM wp_posts AS p, wp_postmeta AS b, wp_postmeta AS m, wp_postmeta AS n
WHERE (
p.ID = b.post_id
)
AND (
b.meta_key =  'budget'
)
AND (
m.meta_key =  'component'
AND m.meta_value =  '1'
)
AND (
n.meta_key =  'component-year'
AND n.meta_value =  '2009'
)

【问题讨论】:

  • 我将从伪规范化的物化视图开始,然后从那里开始。 '当然,看不到你的 DDL,所以不能提供更多帮助。

标签: php mysql database wordpress custom-fields


【解决方案1】:

好的。所以我认为你的意思是你有三个自定义字段的帖子; “组件”、“组件年”和“预算”。当组件 = 1 和组件年 = 2009 时,您试图获得“预算”的总值。如果那是正确的,那么这就是有效的 - 它不是最有效的,但它可以正常工作。

SELECT SUM(wp_postmeta.meta_value) AS total
FROM wp_posts 
LEFT JOIN wp_postmeta ON (
    wp_posts.ID = wp_postmeta.post_id
    AND
    wp_postmeta.meta_key = 'budget'
)

# get all the posts with a custom field of "component" of "1"
WHERE wp_posts.ID IN (
    SELECT post_id
    FROM wp_postmeta
    WHERE meta_key =  'component'
    AND meta_value =  '1'
)

# and all the posts with a custom field of "component-year" of "2009"
AND wp_posts.ID IN (
    SELECT post_id
    FROM wp_postmeta
    WHERE meta_key =  'component-year'
    AND meta_value =  '2009'
);

【讨论】:

  • 像魅力一样工作谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-10
  • 1970-01-01
  • 1970-01-01
  • 2014-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多