0
我想根据Wordpress meta_values来计算产量,我使用下面的MySQL语句,该语句不工作。 SUM(returned.meta_value + staked.meta_value)-SUM(staked.meta_value))/ SUM(staked.meta_value))* 100)不返回任何值。MySQL中的产量计算
有人可以帮我解决下面的表达有什么问题。
谢谢。
global $post;
$post_author = $post->post_author;
$post_status = 'publish';
$yield = $wpdb->get_var($wpdb->prepare(
"
SELECT (ROUND((((SUM(returned.meta_value+staked.meta_value)-SUM(staked.meta_value))/SUM(staked.meta_value))*100),2),2)
FROM {$wpdb->posts} p
JOIN {$wpdb->users} u ON p.post_author = u.ID
LEFT JOIN {$wpdb->postmeta} staked
ON p.ID = staked.post_id AND staked.meta_key = 'staked'
LEFT JOIN {$wpdb->postmeta} returned
ON p.ID = returned.post_id AND returned.meta_key = 'returned'
WHERE p.post_author = %s AND p.post_status = %s
",
$post_author, $post_status
));
好的,我应该继续在select语句中使用别名并更改from,反之亦然。返回和放样是meta_keys,我想返回它们的值来计算收益率。请你帮忙吗? – qebas 2013-04-22 14:40:05
@qebas。 。 。在'select'语句中使用别名,只需将它们更改为正确的别名即可。 – 2013-04-22 14:43:58
我试着用上面的语句,它仍然不起作用,没有返回值。 – qebas 2013-04-22 14:51:56