sql - 为什么由于单独运行时有记录的子查询,我没有得到任何行
问题描述
我正在尝试将记录获取到在子查询中找到的外部查询查找记录。
select * from booker.d_air_shipments_na where
(fulfillment_shipment_id||package_id) in
(select fulfillment_shipment_id||package_id
from booker.d_air_shipments_na
where datediff(day, customer_order_date,ext_dea_day)<=1
and customer_order_date>=current_Date -7)--
and substring(zone,1,1) like 'K'
and substring(zone,9,1) like 'K');
select fulfillment_shipment_id||package_id, substring(zone,1,1), substring(zone,9,1) from booker.d_air_shipments_na limit 100;
当我运行较低的查询时,我确实得到了类似的输出
Column Substring Substring
XYZABC K K
我想要代码的外部查询中的所有具有上述条件的记录,但我无法
对于在子查询中找到的所有fulfillment_shipment_id||package_id 的整个查询,总体结果应如下所示。所附图片是底部较小查询的所有记录。由于在第 2 列和第 3 列中都有 K 的记录,因此我试图仅获取这些记录以进行外部查询
Fulfillment_shipment_id||package_id column1 column2 column3
解决方案
这与
select *
from booker.d_air_shipments_na
where datediff(day, customer_order_date,ext_dea_day)<=1
and customer_order_date>=current_date-7
and substring(zone,1,1) = 'K'
and substring(zone,9,1) = 'K';
我认为您在这里不需要子查询,因为您试图在那里过滤同一个表
至于为什么您在较低的查询中获取数据而不在较高的查询中获取数据,似乎您没有符合此条件的记录:
where datediff(day, customer_order_date,ext_dea_day)<=1
and customer_order_date>=current_Date -7
也有“K”区子串
推荐阅读
- python - 通过用户数据输入使 SIR 模型图发生变化
- ios - grpc可以使用旧版本的protobuf吗?
- mysql - 根据彼此的插入 ID 在 2 个表中插入行
- airflow-scheduler - 在 Airflow 2.0 中按需将 DAG 序列化为 DB
- python - 格式化 Matplotlib 刻度数(千)。TypeError:“str”和“int”的实例之间不支持“<”
- rust - 如何理解 FusedFuture
- r - 如何通过分类数据绘图来控制 R 中变量的某些值?
- android - Firefox 移动设备上的 SSL 证书始终来自“缓存”
- react-native - React Native Webview 身份验证
- php - 使用枚举的 Doctrine 数组并将其存储在单独的表中