gpt4 book ai didi

mysql - 如何创建一个 sql 脚本来考虑两列?

转载 作者:行者123 更新时间:2023-11-29 01:58:29 24 4
gpt4 key购买 nike

假设今天是 2014 年 1 月 22 日我运行的报告在下面有这个表(表),但 SIdate 的输入范围仅从 2014 年 1 月 1 日到 2014 年 1 月 18 日。

我想根据输入的 SIdate 显示所有行,即 2014 年 1 月 1 日至 2014 年 1 月 18 日,但也应考虑 CMdate 并应传递日期参数。

正如您在表 2(我想要的输出)中注意到的那样,第 6 行不再存在 bcore CMdate 是 2014 年 1 月 21 日

表一

Emp   SIDate    item  TotQty      TotAmt     CMDate     CMAmt 
-------------------------------------------------------
CLO 01-01-14 item1 120 1500.00 null null
CLO 01-02-14 item2 80 500.00 01-05-14 20.00
CLO 01-05-14 item6 21 1100.00 null null
CLO 01-10-14 item5 100 2000.00 01-10-14 200.00
CLO 01-12-14 item9 300 100.00 null null
CLO 01-16-14 item3 150 650.00 01-21-14 150.00

表 2(期望的输出)

Emp   SIDate    item  TotQty      TotAmt     CMDate     CMAmt 
-------------------------------------------------------
CLO 01-01-14 item1 120 1500.00 null null
CLO 01-02-14 item2 80 500.00 01-05-14 20.00
CLO 01-05-14 item6 21 1100.00 null null
CLO 01-10-14 item5 100 2000.00 01-10-14 200.00
CLO 01-12-14 item9 300 100.00 null null

任何输入将不胜感激。

最佳答案

您需要在两列上重复筛选,可选择允许 NULL CMDate

SELECT 
Emp, SIDate, item, TotQty, TotAmt, CMDate, CMAmt
FROM
Table1
WHERE
SIDate BETWEEN '2014-01-01' AND '2014-01-18'
AND (CMDate IS NULL OR CMDate BETWEEN '2014-01-01' AND '2014-01-18');

Fiddle here

(顺便说一句,对日期格式使用 ISO 这样的标准将大大避免日期格式相关问题)

关于mysql - 如何创建一个 sql 脚本来考虑两列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21278501/

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