-- 作者:ajie5211
-- 发布时间:2017/9/11 10:48:00
-- [求助]SQL语句合成求助
SELE CT ss.下单日期, ss.销售单号, ss.业务员, ss.品名规格, ss.P数, ss.数量, ss.总线数, ss.出货日期, ss.备注, ss.客户, ss.组别, ss.塑件材料状况, ss.计划生产日, ss.完成日期, ss.五金材料状况, ss.其它备注, ss.延迟信息, ss.是否完成, ss.合同评审单号, ss.原序号, ss.订单状态, ss.判断是否已回交期, ss.入库状态, ss.生管交期, ss.生管备注, ss.操作记录 F RO M (SELE CT dbo.tabDIYTable372.F2591 AS 下单日期, dbo.tabDIYTable372.F2592 AS 销售单号, dbo.tabDIYTable372.F2593 AS 业务员, dbo.tabDIYTable372.F2406 AS 品名规格, dbo.tabDIYTable372.F3325 AS P数, dbo.tabDIYTable372.F2407 AS 数量, dbo.tabDIYTable372.F3326 AS 总线数, CASE WHEN F3337 = \'\' THEN F2408 ELSE F3337 END AS 出货日期, CASE WHEN F3330 = \'\' THEN F2412 ELSE F3330 END AS 备注, dbo.tabDIYTable372.F2411 AS 客户, dbo.tabDIYTable372.F3327 AS 组别, dbo.tabDIYTable372.F2549 AS 塑件材料状况, dbo.tabDIYTable372.F3328 AS 计划生产日, dbo.tabDIYTable372.F3329 AS 完成日期, dbo.tabDIYTable372.F2409 AS 五金材料状况, dbo.tabDIYTable372.F3420 AS 其它备注, dbo.tabDIYTable372.F4678 AS 延迟信息, CASE WHEN F2540 = \'已出货\' THEN \'是\' WHEN F2661 = \'已入库\' THEN \'是\' WHEN F3329 = \'\' THEN \'否\' ELSE \'是\' END AS 是否完成, dbo.tabDIYTable371.F2401 AS 合同评审单号, dbo.tabDIYTable372.F2405 AS 原序号, dbo.tabDIYTable14.F2540 AS 订单状态, CASE WHEN F3425 <> \'\' THEN 2 WHEN F2646 = \'已结束\' THEN 2 ELSE 1 END AS 判断是否已回交期, dbo.tabDIYTable14.F2661 AS 入库状态, dbo.tabDIYTable372.F3337 AS 生管交期, dbo.tabDIYTable372.F3330 AS 生管备注, dbo.tabDIYTable372.F4964 AS 操作记录 F RO M dbo.tabDIYTable372 INNER JOIN dbo.tabDIYTable371 ON dbo.tabDIYTable371.ID = dbo.tabDIYTable372.ID INNER JOIN dbo.tabDIYTable14 ON dbo.tabDIYTable14.F46 = dbo.tabDIYTable372.F2405 INNER JOIN dbo.tabDIYTable13 ON dbo.tabDIYTable13.ID = dbo.tabDIYTable14.ID AND dbo.tabDIYTable371.F2401 = dbo.tabDIYTable13.F39 UN ION SELE CT tabDIYTable372_1.F2591 AS 下单日期, tabDIYTable372_1.F2592 AS 销售单号, tabDIYTable372_1.F2593 AS 业务员, tabDIYTable372_1.F2406 AS 品名规格, tabDIYTable372_1.F3325 AS P数, tabDIYTable372_1.F2407 AS 数量, tabDIYTable372_1.F3326 AS 总线数, CASE WHEN F3337 = \'\' THEN F2408 ELSE F3337 END AS 出货日期, CASE WHEN F3330 = \'\' THEN F2412 ELSE F3330 END AS 备注, tabDIYTable372_1.F2411 AS 客户, tabDIYTable372_1.F3327 AS 组别, tabDIYTable372_1.F2549 AS 塑件材料状况, tabDIYTable372_1.F3328 AS 计划生产日, tabDIYTable372_1.F3329 AS 完成日期, tabDIYTable372_1.F2409 AS 五金材料状况, tabDIYTable372_1.F3420 AS 其它备注, tabDIYTable372_1.F4678 AS 延迟信息, CASE WHEN F3329 = \'\' THEN \'否\' ELSE \'是\' END AS 是否完成, tabDIYTable371_1.F2401 AS 合同评审单号, tabDIYTable372_1.F2405 AS 原序号, \'\' AS 订单状态, CASE WHEN F3425 <> \'\' THEN 2 WHEN F2646 = \'已结束\' THEN 2 ELSE 1 END AS 判断是否已回交期, \'\' AS 入库状态, tabDIYTable372_1.F3337 AS 生管交期, tabDIYTable372_1.F3330 AS 生管备注, tabDIYTable372_1.F4964 AS 操作记录 F RO M dbo.tabDIYTable372 AS tabDIYTable372_1 INNER JOIN dbo.tabDIYTable371 AS tabDIYTable371_1 ON tabDIYTable371_1.ID = tabDIYTable372_1.ID LEFT OUTER JOIN dbo.tabDIYTable13 AS tabDIYTable13_2 ON tabDIYTable13_2.F39 = tabDIYTable371_1.F2401 WH ERE (tabDIYTable371_1.F2401 NOT IN (SEL ECT F39 F RO M dbo.tabDIYTable13 AS tabDIYTable13_1))) AS ss LEFT OUTER JOIN dbo.订单计划生管信息 ON dbo.订单计划生管信息.合同评审单号 = CAST(ss.合同评审单号 AS nvarchar(100)) AND dbo.订单计划生管信息.原序号 = CAST(ss.原序号 AS int) WHE RE ((CAST(ss.合同评审单号 AS nvarchar(100)) + CAST(CAST(ss.原序号 AS int) AS varchar(20))) IN (SELECT 合同评审单号 + CAST(原序号 AS varchar(20)) AS Expr1 F RO M dbo.订单计划生管信息 AS jj)) AND (ss.是否完成 = \'否\')
上面语句去掉红色部分,能出来970条数据,加上红色部分能出来两条数据,我把红色部分的in换成not in 想出来968条数据,但出来0条。请问如何出来这968条,或者用in时,出来的两条数据,显示换一种,换成
SEL ECT ss.下单日期, ss.销售单号, ss.业务员, ss.品名规格, dbo.订单计划生管信息.P数, ss.数量, dbo.订单计划生管信息.总线数, CASE WHEN dbo.订单计划生管信息.生管交期 = \'\' THEN ss.出货日期 ELSE dbo.订单计划生管信息.生管交期 END AS 出货日期, CASE WHEN dbo.订单计划生管信息.生管备注 IS NULL THEN ss.备注 ELSE dbo.订单计划生管信息.生管备注 END AS 备注, ss.客户, dbo.订单计划生管信息.组别, dbo.订单计划生管信息.塑件材料状况, dbo.订单计划生管信息.计划生产日, dbo.订单计划生管信息.完成日期, dbo.订单计划生管信息.五金材料状况, dbo.订单计划生管信息.其它备注, dbo.订单计划生管信息.延迟信息, ss.是否完成, ss.合同评审单号, ss.原序号, ss.订单状态, ss.判断是否已回交期, ss.入库状态, dbo.订单计划生管信息.生管交期, dbo.订单计划生管信息.生管备注, dbo.订单计划生管信息.操作记录
所想达到的目的就是“订单计划生管信息”中有数据时,按这个数据显示。
|