SELECT
*
FROM
KT100200 kt2
INNER JOIN ET100100 et1 ON et1.Employee_No = kt2.Employee_ID
INNER JOIN KT100100 kt1 ON kt2.Employee_ID = kt1.Employee_ID AND kt2.Year = kt1.Year AND kt2.Month = kt1.Month
INNER JOIN KT100300 kt3 ON kt2.Employee_ID = kt3.Employee_ID AND kt2.Year = kt3.Year
WHERE
kt2.Employee_ID IN
(
SELECT DISTINCT
Kt1.Employee_ID
FROM
KT100100 Kt1
WHERE
(Work_Place_F IS NULL OR ISNULL(Kt1.Work_Place_F, '') = Work_Place_F)
)
AND (Year IS NULL OR ISNULL(kt2.Year, '') = Year)
AND (Month IS NULL OR ISNULL(kt2.Month, '') = Month)
AND (Employee_ID IS NULL OR ISNULL(kt2.Employee_ID, '') = Employee_ID)
AND (Employee_Name IS NULL OR ISNULL(et1.Employee_Name, '') = Employee_Name)
*
FROM
KT100200 kt2
INNER JOIN ET100100 et1 ON et1.Employee_No = kt2.Employee_ID
INNER JOIN KT100100 kt1 ON kt2.Employee_ID = kt1.Employee_ID AND kt2.Year = kt1.Year AND kt2.Month = kt1.Month
INNER JOIN KT100300 kt3 ON kt2.Employee_ID = kt3.Employee_ID AND kt2.Year = kt3.Year
WHERE
kt2.Employee_ID IN
(
SELECT DISTINCT
Kt1.Employee_ID
FROM
KT100100 Kt1
WHERE
(Work_Place_F IS NULL OR ISNULL(Kt1.Work_Place_F, '') = Work_Place_F)
)
AND (Year IS NULL OR ISNULL(kt2.Year, '') = Year)
AND (Month IS NULL OR ISNULL(kt2.Month, '') = Month)
AND (Employee_ID IS NULL OR ISNULL(kt2.Employee_ID, '') = Employee_ID)
AND (Employee_Name IS NULL OR ISNULL(et1.Employee_Name, '') = Employee_Name)
解决方案 »
- 怎么来写ORACLE的函数
- 求一条oracle多表查询的sql,求高手们不吝赐教~
- 使用带恢复目录的RMAN相关配置步骤的疑问
- 急!!!!!!!!!!!!!!oracle数据库应用
- oracle,如何查看视图结构,获得视图中的字段名称、字段类型、字段长度等。
- 存储过程执行老提示对象无效,是不是权限问题?
- 请关注:Oracle中日志的问题。
- oracle9i中关于调用跨库函数的问题,烦各位大虾不吝赐教!!
- oracle dbms_profiler使用问题
- oracle 0 和 null 的区别
- 将两个表的相同信息合并,并把重复的删除!
- delphi读取Oracle 的 Char类型 时如何去除多余的空格问题```
这样用吧