gpt4 book ai didi

sql - 如何选择甚至不存在的值

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

我正在使用 SQL-Server 2005

我有两个表,用户和订单。每个用户可以有很多订单。通过 userID 连接的表。订单有日期列(这是下订单的时间)。用户有 registrationSite 列(这是用户及其所有订单背后的附属网站)。

我想选择每天和网站的订单总和,所以即使网站没有售出或用户注册我也会有 0 作为总值。

这是遗漏了突出显示部分的当前查询。

select sum(orderSum)*40/100-0.17,count(*),
registrationSite,
dateadd(dd,datediff(dd,0,cu.date),0)
from Users cu
inner join Orders cp
on cu.userID=cp.userID
group by dateadd(dd,datediff(dd,0,cu.date),0),registrationSite
order by dateadd(dd,datediff(dd,0,cu.date),0),registrationSite

最佳答案

使用 LEFT OUTER JOIN 而不是 INNER JOIN ..

from Users cu 
inner join Orders cp

应该变成

from Users cu 
left outer join Orders cp

这意味着所有用户及其随附的订单(如果存在)..(但用户将全部与订单无关)


更新

您需要创建一个包含日期范围()和左外连接tally表..

看这里:How to get a table of dates between x and y in sql server 2005

关于sql - 如何选择甚至不存在的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3334598/

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