SELECT A.ID As ID1,E.Name KJWL,F.ZWMC SJRGJ,B.*,C.Number,C.NAME,
(CASE WHEN B.PPCC <> 'CC' THEN
(CASE WHEN IsNull(KHYZHJE,0)<>0 THEN (IsNull(KHYZHJE,0)-IsNull(ZWLSFJE,0))/IsNull(KHYZHJE,0) ELSE 0 END)
ELSE
(CASE WHEN IsNull(ZWLSFJE,0)<>0 THEN (IsNull(ZWLSFJE,0)-IsNull(KHYZHJE,0))/IsNull(ZWLSFJE,0) ELSE 0 END)
END) AS KZMLR,
(IsNull(KHYZHJE,0)-IsNull(ZWLSFJE,0)) AS KZML,
(IsNull(KHYZHJE,0)-IsNull(WLSFJE,0)) AS KFML,
(CASE WHEN B.PPCC <> 'PP' THEN
(IsNull(WLSFJE,0)-IsNull(ZWLSFJE,0))
Else
(IsNull(ZWLSFJE,0)-IsNull(WLSFJE,0)) End) AS KJML,
(CASE WHEN B.PPCC <> 'CC' THEN
(CASE WHEN IsNull(KHYZHJE,0)<>0 THEN (IsNull(KHYZHJE,0)-IsNull(WLSFJE,0))/IsNull(KHYZHJE,0) ELSE 0 END)
ELSE
(CASE WHEN IsNull(WLSFJE,0)<>0 THEN (IsNull(WLSFJE,0)-IsNull(KHYZHJE,0))/IsNull(WLSFJE,0) ELSE 0 END)
END) AS KFMLR
FROM W_KHYD A Inner JOIN w_TJB B ON A.InnerID=B.InnerID
Left JOIN b_KHZLZB C ON A.KHBM=C.InnerID --关键是这样.如果改成Inner Join时间会超过50秒
LEFT JOIN B_KJWL E ON A.KJWL=E.InnerID
LEFT JOIN B_GJB F ON A.SJRGJ=F.InnerID
WHERE
A.YLSJ>(Case WHEN CONVERT(int,IsNull(C.JZR,'26'))>31 THEN '2011-01-31 23:59:59'
WHEN CONVERT(int,IsNull(C.JZR,'26'))<1 THEN '2011-01-26 23:59:59'
ELSE DateAdd(Day,CONVERT(int,IsNull(C.JZR,'26'))-1,'2011-01-01 23:59:59') END)
AND A.YLSJ<=(Case WHEN CONVERT(int,IsNull(C.JZR,'26'))>28 THEN '2011-02-28 23:59:59'
WHEN CONVERT(int,IsNull(C.JZR,'26'))<1 THEN '2011-02-26 23:59:59'
mark一下..不知道是什么原因.Inner join 反倒没有Left Join 快
分享到:
相关推荐
### inner join、left join、right join、outer join之间的区别 在数据库操作中,连接(Join)是一种非常重要的操作,用于组合两个或多个表中的数据。根据连接的方式不同,可以分为几种类型:`INNER JOIN`、`LEFT ...
本篇文章将深入探讨LEFT JOIN、RIGHT JOIN以及INNER JOIN的用法,并通过实例进行对比,帮助理解它们之间的差异。 1. LEFT JOIN(左连接) LEFT JOIN返回所有左表(在本例中为A表)的记录,即使在右表(B表)中没有...
2. 左外连接(Left Outer Join):包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行。 3. 右外连接(Right Outer Join):包含右边表的全部行(不管左边的表中是否存在与它们...
左连接(LEFT JOIN)、右连接(RIGHT JOIN)和内连接(INNER JOIN)是三种最基本的连接类型。在本节中,我们将详细介绍左连接、右连接和内连接的区别和联系。 左连接(LEFT JOIN) 左连接返回左表中的所有行,右表...
### (Left join , Right Join, Inner Join)用法详解 #### 一、基本概念与应用场景 在数据库查询语言SQL中,连接(Join)是一种非常重要的操作,它允许我们结合两个或多个表的数据来检索信息。根据不同的连接方式,...
比较实用的方法,已经用到项目里,很好用的一个方法
本篇文章将深入探讨四种基本的JOIN类型:LEFT JOIN(左连接)、RIGHT JOIN(右连接)、INNER JOIN(内连接)以及OUTER JOIN(外连接)。我们将详细解释这些概念,它们的工作原理以及在实际数据库操作中的应用。 1. ...
在本文中,我们将详细介绍SQL Left Join的使用方法、特点和区别,以及与Right Join和Inner Join的比较。 一、SQL Left Join的定义和使用 SQL Left Join也称为左外连接,它可以将左表中的所有记录与右表中的记录...
Mysql 之 inner join、left join、right join 详解 Mysql 中的连接查询是指从多个表中检索数据,并将它们组合成一个结果集。inner join、left join 和 right join 是 Mysql 中三种最常用的连接查询方式。 inner ...
- 其次,由于 t2 已经与 t3 关联,所以 `t1 LEFT JOIN t2` 可以保持不变,但 t2 与 t3 的 Inner Join 结果可以与 t1 再次进行 Inner Join。 通过这样的优化,查询可以变得更加高效,减少对无效数据的处理。 3. ...
根据连接方式的不同,可以分为多种类型,包括内连接(Inner Join)、左连接(Left Join)以及右连接(Right Join)。本文将详细探讨这三种连接方式的区别,并通过具体的例子来解释它们的应用场景。 ### 内连接...
INNER JOIN ( SELECT database_name, MAX(dt) AS dt FROM dw.dwm_exhibition_base WHERE database_name = 'fair' GROUP BY database_name ) m ON n.database_name = m.database_name AND n.dt = m.dt WHERE n...
2. LEFT JOIN (或 LEFT OUTER JOIN): LEFT JOIN返回左表(table1)的所有记录,即使右表(table2)没有匹配的记录。如果在右表中没有找到匹配项,结果将用NULL填充来自右表的列。语法: ```sql SELECT columns FROM ...
标题与描述中的“from多张表等于left join其他表”主要涉及的是SQL查询语句中两种不同的连接方式:内连接(通常在FROM子句后直接使用WHERE子句实现)和左连接(LEFT JOIN)。这两种连接方式在处理多表查询时有着不同...
在这个主题中,我们将深入探讨INNER JOIN和OUTER JOIN,它们是JOIN的两种主要类型。 首先,我们来看INNER JOIN。INNER JOIN返回两个表中匹配的行。这意味着只有当第一个表中的某行与第二个表中的另一行在指定的关联...
SQL 外链接操作小结 inner join left join right join SQL 外链接操作是关系型数据库管理系统中的一种基本操作,用于从多个表中检索数据。外链接操作可以分为三种:inner join、left join 和 right join。 inner ...
- **INNER JOIN**:返回两个表中匹配的行。 - **LEFT JOIN (或 LEFT OUTER JOIN)**:除了返回两个表中匹配的行外,还会返回左表中不匹配的所有行,并将右表的列设置为NULL。 - **RIGHT JOIN (或 RIGHT OUTER JOIN)**...
本篇文章将深入探讨两种常见的JOIN类型:INNER JOIN(内联)和LEFT JOIN(左联),并结合实例代码来解析它们的工作原理和用法。 INNER JOIN,也称为内连接,返回的是两个表中满足特定条件的匹配行。换句话说,只有...
本文档详细介绍了 MySQL 中的 JOIN 语法,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN 等,并提供了实际的实例来说明 JOIN 的用法。 首先,MySQL 的 JOIN 语法用于根据两个或多个表中的字段之间的关系,从...