Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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组\u CONCAT_Mysql - Fatal编程技术网

所有值相同的MySQL组\u CONCAT

所有值相同的MySQL组\u CONCAT,mysql,Mysql,我有以下疑问: SELECT * FROM charges WHERE ( charges.id not in ( select charge_id from billing_invoice_charges where is_deactivated = 0 ) ) 我需要将其转换为联接查询,因此我正在尝试: SELECT charges.id, group_concat(bic.is_deactivated) AS active_statuses FROM charges L

我有以下疑问:

SELECT * FROM charges WHERE (
  charges.id not in (
    select charge_id from billing_invoice_charges where is_deactivated = 0
  )
)
我需要将其转换为联接查询,因此我正在尝试:

SELECT charges.id, group_concat(bic.is_deactivated) AS active_statuses 
FROM charges LEFT JOIN billing_invoice_charges AS bic
ON bic.charge_id = charges.id GROUP BY charges.id

HAVING .......; <--- Check if all values are 1's

如何检查HAVING子句中的所有值if
active\u status
是否为1?这将给我提供我正在寻找的
费用。

尝试使用
HAVING
子句,该子句使用条件聚合来确保每个组不出现非
1
状态

SELECT
    charges.id,
    GROUP_CONCAT(bic.is_deactivated) AS active_statuses 
FROM charges
LEFT JOIN billing_invoice_charges AS bic
    ON bic.charge_id = charges.id
GROUP BY charges.id
HAVING SUM(CASE WHEN bic.is_deactivated <> 1 THEN 1 ELSE 0 END) = 0
选择
费用,身份证,
组连接(bic.已停用)作为活动状态
控告
作为bic的左连接账单\发票\费用
在bic.charge\u id=charges.id上
按费用分组。id
具有总和(当bic.u被停用时,1,则1,否则0结束)=0

尝试一个
HAVING
子句,该子句使用条件聚合来确保每组不出现非
1
状态

SELECT
    charges.id,
    GROUP_CONCAT(bic.is_deactivated) AS active_statuses 
FROM charges
LEFT JOIN billing_invoice_charges AS bic
    ON bic.charge_id = charges.id
GROUP BY charges.id
HAVING SUM(CASE WHEN bic.is_deactivated <> 1 THEN 1 ELSE 0 END) = 0
选择
费用,身份证,
组连接(bic.已停用)作为活动状态
控告
作为bic的左连接账单\发票\费用
在bic.charge\u id=charges.id上
按费用分组。id
具有总和(当bic.u被停用时,1,则1,否则0结束)=0
试试:

它应该忽略0处于活动状态的任何结果

尝试:


这应该会忽略活动状态为0的任何结果

好吧,这对我来说也很有效,只需稍微添加一点
,活动状态不像“%0%”,或者活动状态为空
。但是,根据我的问题,这是正确的!!!嗯,这对我来说也很有效,只需稍微增加一点
,使活动\u状态与“%0%”不同,或者活动\u状态为NULL。但是,根据我的问题,这是正确的!!!
SELECT
    charges.id,
    GROUP_CONCAT(bic.is_deactivated) AS active_statuses 
FROM charges
LEFT JOIN billing_invoice_charges AS bic
ON bic.charge_id = charges.id
GROUP BY charges.id
HAVING active_statuses NOT LIKE '%0%'