我有一个如下所示的查询:
SELECT cust.adm, COUNT(visits.visit_date) as visit_count FROM cust
LEFT JOIN visits ON cust.cust_id = visits.cust_id
WHERE cust.cust_id = 1
GROUP BY cust.adm
结果是:
adm | visit_count
--------------------------
TRUE | 0
如果 adm 为真,是否有办法强制“visit_count”的结果为“3”?
最佳答案
您可以使用 case
表达式:
SELECT cust.adm,
CASE cust.adm WHEN TRUE THEN 3 ELSE COUNT(visits.visit_date) END AS visit_count
FROM cust
LEFT JOIN visits ON cust.cust_id = visits.cust_id
WHERE cust.cust_id = 1
GROUP BY cust.adm
关于sql - 如果为真,则强制查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56775681/