【发布时间】:2021-08-27 20:45:45
【问题描述】:
我是 SQL 新手,正在尝试通过做一些项目来学习。目前,我有一个以开始和结束日期作为参数的查询。查询是按品种类型和种族日期过滤的。我需要这样做,以便此查询的数据包括 race_date > 1/1/2020 的品种类型 1,2 和 3,并包括种族日期
样本数据:
| race_date | breed_type | sales |
|---|---|---|
| 12/30/2020 | 1 | 20 |
| 12/30/2020 | 2 | 10 |
| 12/30/2020 | 3 | 40 |
| 12/31/2020 | 3 | 10 |
| 12/31/2020 | 2 | 20 |
| 1/1/2021 | 1 | 25 |
| 1/1/2021 | 2 | 20 |
| 1/2/2021 | 1 | 10 |
| 1/2/2021 | 2 | 10 |
| 1/2/2021 | 3 | 20 |
我目前拥有的:
SELECT SUM(nvl(sales,0)) 销售额
从结果 t WHERE t.race_date BETWEEN '12/30/2020' 和 '01/02/2021' AND (1,2,3) 中的品种类型
但我希望此查询显示race_date 01/01/2021 的breed_type 3。
预期销售额应为:135
实际销量:185
提前感谢您的帮助。
【问题讨论】:
-
请提供样本数据、所需结果和适当的数据库标签。
-
请编辑您的问题并为您正在使用的 sql 类型添加一个标签,然后添加您的查询并解释您获得的结果与您期望获得的结果跨度>
-
在 where 子句中使用两个子选择,并使用主键检查元组是否在两个集合之一中。所以:哪里 PRIMARY_KEY_COLUMN(S) in (subselect 1) 或 PRIMARY_KEY_COLUMN(S) in (subselect 2)。
标签: sql