gpt4 book ai didi

mysql - 左连接问题 - 匹配号码

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:57 25 4
gpt4 key购买 nike

请看下面的 SQL 查询,它计算了 CheckDate 之间的 Yes 和 No 的数量。

关于MatchSales字段 - 它不按我想要的方式工作。它应该找到 D.MobileNO (取决于 CheckDate )匹配到 S.mobile (查看sales表中的所有记录)

SELECT D.Username, 
SUM(CASE WHEN D.type = 'Yes' AND UNIX_TIMESTAMP(CheckDate) >= $From_timestamp AND UNIX_TIMESTAMP(CheckDate) <= $To_timestamp THEN 1 ELSE 0 END) as Yes,
SUM(CASE WHEN D.type = 'No' AND UNIX_TIMESTAMP(CheckDate) >= $From_timestamp AND UNIX_TIMESTAMP(CheckDate) <= $To_timestamp THEN 1 ELSE 0 END) as No,
SUM(CASE WHEN S.mobile IS NULL THEN 0 ELSE 1 END) as MatchSales
FROM dairy as D
LEFT JOIN (SELECT DISTINCT mobile FROM sales) as S on D.MobileNo = S.mobile
WHERE source = 'Company'
GROUP BY D.Username

最佳答案

只需将 CASE 中的 Checkdate 条件添加到 where 子句中:

SELECT D.Username,      
SUM(CASE WHEN D.type = 'Yes' THEN 1 ELSE 0 END) AS Yes,
SUM(CASE WHEN D.type = 'No' THEN 1 ELSE 0 END) AS No,
SUM(CASE WHEN S.mobile IS NULL THEN 0 ELSE 1 END) AS MatchSales
FROM dairy AS D
LEFT JOIN (SELECT DISTINCT mobile FROM sales) AS S ON D.MobileNo = S.mobile
WHERE D.source = 'Company'
AND UNIX_TIMESTAMP(D.CheckDate) >= $From_timestamp
AND UNIX_TIMTIMESTAMP(D.CheckDate) <= $To_timestamp
GROUP BY D.Username

没有它你将全面扫描乳制品

关于mysql - 左连接问题 - 匹配号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7041085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com