问题描述
- db2多表多字段加筛选联合查询问题
-
db2多表联合查询问题表一 A_流水号 A_日期
表二 B_流水号 B_客户号 B_地址 B_类别
表三 C_客户号 C_核心客户号
表四 D_客户号 D_客户状态(0为正常,1为不正常)1、现在需要根据表一中的日期查出符合条件的流水号
2、根据表一查出来的流水号查出表二中的B_客户号、 B_地址、 B_类别。
3、在根据表二查出来的客户号查出表三的C_核心客户号。
4、根据表二或者表三的客户号在表四中判断客户状态为正常(即D_客户状态=‘0’)的客户信息。
最终得到的字段:A_日期 A_流水号 B_流水号 B_客户号 B_地址 B_类别 C_核心客户号(客户状态为正常)
请问能否将上面的步骤组装成一个sql语句 注:每次查出来的都是一列数而不是单个数本人只能查出C_核心客户号:
select C_核心客户号 from 表三 where C_客户号 in(select B_客户号 from 表二 where B_流水号 in(select A_流水号 from 表一 where A_日期='20160525' ) )
解决方案
select A_日期 A_流水号 B_流水号 B_客户号 B_地址 B_类别 C_核心客户号 from 表一 join 表二 on 表一.A_流水号=表二.B_流水号
join 表三 on 表二.B_客户号=表三.C_客户号 join 表四 on 表二.B_客户号=表四.D_客户号 where A_日期='20160525' and D_客户状态=‘0’
时间: 2024-12-29 05:56:33