SQL 之Where条件与From表无关性例子
来源:互联网 发布:淘宝怎么买分期手机 编辑:程序博客网 时间:2024/06/05 05:04
--------查询出上期结账的老物料存货余额,导入到新物料存货中去并将老物料存货余额调平。----------Select S1.NumAtCrd , S1.CrdID , S1.ItmID , TB1.ItmName , TB1.ItmSpec , TB1.Serials , S1.WhsID , S1.LineSumFC , S1.FreeTxtFrom(Select CONVERT(varchar(100), GETDATE(), 112) AS NumAtCrd , 'A05' CrdID , @OldItmID ItmID, WhsID , -EndAmount LineSumFC , '关闭物料,原始物料存货余额调平' FreeTxtFrom AAFinWhWhere ItmID = @OldItmID AND 1 = ISNULL( --检查OldItmID是否可用(select top 1 1 from MDItm T0 where T0.ItmID = @OldItmID and @OldItmID <> @NewItmID and T0.IsClose = 'N') , 2) AND 1 = ISNULL( (select top 1 1 from MDItm T0 where T0.ItmID = @NewItmID and T0.IsClose = 'N') , 2) -- 检查新物料是否可用Group by AbsID , WhsID , EndAmountHaving AbsID = (Select Max(AbsID) From AAFinWh Where ItmID = @OldItmID) UNION ALLSelect CONVERT(varchar(100), GETDATE(), 112) AS NumAtCrd , 'A05' CrdID , @NewItmID ItmID, TB1.WhsID , Sum(EndAmount) LineSumFC ,'关闭物料的存货余额,调至新物料中' FreeTxtFrom AAFinWh TD1LEFT JOIN MDItm TB1 ON TD1.ItmID = TB1.ItmIDWhere TD1.ItmID = @OldItmID AND 1 = ISNULL( --检查OldItmID是否可用(select top 1 1 from MDItm T0 where T0.ItmID = @OldItmID and @OldItmID <> @NewItmID and T0.IsClose = 'N') , 2) AND 1 = ISNULL( (select top 1 1 from MDItm T0 where T0.ItmID = @NewItmID and T0.IsClose = 'N') , 2) -- 检查新物料是否可用Group by TD1.AbsID , TB1.WhsIDHaving TD1.AbsID = (Select Max(AbsID) From AAFinWh Where ItmID = @OldItmID))S1 LEFT JOIN MDItm TB1 ON S1.ItmID = TB1.ItmID
查询中,如何去检查老物料是否可用,新物料是否可用。可用LEFT JOIN 去左连AAFinWh,但万一要查的XX表与AAFinWh没有关系,此时的LEFT JOIN 是没有效率的。
显然用 1 = Select Top 1 1 From XX Where YY = ZZ 这样的类似条件去限制 将会更有效率。
- SQL 之Where条件与From表无关性例子
- C$ sql:select * from 表名 where 条件:表名和条件是字符串时
- SQL的 SELECT 字段 FROM 表 WHERE 某字段 Like 条件
- SQL-SELECT 语句,From子句,where条件查询
- SQL语句---from 和where 查询条件的优先级
- SQL陷阱之leftjoin的where条件
- SQL中on条件与where条件的区别
- SQL:外连接on条件与where条件的区别
- SQL中on条件与where条件的区别[转]
- SQL中on条件与where条件的区别(转载)
- SQL中on条件与where条件的区别[转]
- SQL中on条件与where条件的区别
- SQL中on条件与where条件的区别
- SQL中on条件与where条件的区别[转]
- SQL中on条件与where条件的区别
- SQL中on条件与where条件的区别
- SQL中on条件与where条件的区别[转]
- SQL中on条件与where条件的区别
- sendmsg recvmsg函数
- JQM转场分析及转场闪屏解决方法
- Oracle Mutex实现机制
- 简介struct cmsghdr结构
- 八款开源 Android 游戏引擎
- SQL 之Where条件与From表无关性例子
- Uploadify上传控件显示中文button
- XRDP远程登录Linux系统(rhel5.*版本)
- java 的double-check locking
- RFC894--以太网上IP数据报的传输标准
- php取整的几种方式
- PostgreSQL 创建帐号,数据库,权限,备份,恢复
- 生成数据 (代码大全 第八章 )
- java.net.ConnectException Connection refused connect