Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 隐藏我正在计算的列_Mysql_Sql - Fatal编程技术网

Mysql 隐藏我正在计算的列

Mysql 隐藏我正在计算的列,mysql,sql,Mysql,Sql,在我的查询中,我正在查找payment_方法,删除所有没有“cod”值的行,但我想从输出中删除此列。我怎样才能做到 SELECT max( CASE WHEN um.meta_key = 'hrid' THEN um.meta_value END ) AS HRID, max( CASE WHEN pm.meta_key = '_order_total' AND p.ID = pm.post_id THEN pm.meta_value END ) AS order_total,

在我的查询中,我正在查找payment_方法,删除所有没有“cod”值的行,但我想从输出中删除此列。我怎样才能做到

SELECT
    max( CASE WHEN um.meta_key = 'hrid' THEN um.meta_value END ) AS HRID,
    max( CASE WHEN pm.meta_key = '_order_total' AND p.ID = pm.post_id THEN pm.meta_value END ) AS order_total,
    max( CASE WHEN pm.meta_key = '_payment_method' AND p.ID = pm.post_id THEN pm.meta_value END ) AS payment_method
FROM wp_posts p
    LEFT JOIN wp_postmeta pm ON p.ID = pm.post_id
    LEFT JOIN wp_woocommerce_order_items oi ON p.ID = oi.order_id
    LEFT JOIN wp_users u ON u.ID = pm.meta_value AND pm.meta_key = '_customer_user'
    LEFT JOIN wp_usermeta um ON um.user_id = u.ID
WHERE post_type = 'shop_order' and post_status = 'wc-completed'    
GROUP BY p.ID
HAVING payment_method = 'cod'


Result right now
HRID    order_total    payment_method
x       y              z

Expected result
HRID    order_total
x       y          

将条件移动到
having
子句:

SELECT max( CASE WHEN um.meta_key = 'hrid' THEN um.meta_value END ) AS HRID,
       max( CASE WHEN pm.meta_key = '_order_total' AND p.ID = pm.post_id THEN pm.meta_value END ) AS order_total
FROM wp_posts p
    LEFT JOIN wp_postmeta pm ON p.ID = pm.post_id
    LEFT JOIN wp_woocommerce_order_items oi ON p.ID = oi.order_id
    LEFT JOIN wp_users u ON u.ID = pm.meta_value AND pm.meta_key = '_customer_user'
    LEFT JOIN wp_usermeta um ON um.user_id = u.ID
WHERE post_type = 'shop_order' and post_status = 'wc-completed'    
GROUP BY p.ID
HAVING  max( CASE WHEN pm.meta_key = '_payment_method' AND p.ID = pm.post_id THEN pm.meta_value END ) = 'cod'

如果您仍在挣扎,请参见:将代码中的第4行抛出。在MAX的末尾有“AS payment_method”,这是要删除的变量的名称。扔掉整条线。