SELECT A.Aac001,
A.Aac002,
B.Aab001,
B.Ajc090,
B.Aac021
FROM a
INNER JOIN b
ON A.Aac021 = B.Aac021
WHERE B.Aae116 = '1'
AND (B.Ajc090 = To_Date('2011-01-01', 'yyyy-mm-dd') OR
To_Date('2011-01-01', 'yyyy-mm-dd') = To_Date('2011-01-01', 'yyyy-mm-dd'))
AND NOT EXISTS (SELECT Aac021
FROM c
WHERE Aae002 = '201109'
AND C.Aac001 = B.Aac001
AND C.Aac021 = B.Aac021);
A.Aac002,
B.Aab001,
B.Ajc090,
B.Aac021
FROM a
INNER JOIN b
ON A.Aac021 = B.Aac021
WHERE B.Aae116 = '1'
AND (B.Ajc090 = To_Date('2011-01-01', 'yyyy-mm-dd') OR
To_Date('2011-01-01', 'yyyy-mm-dd') = To_Date('2011-01-01', 'yyyy-mm-dd'))
AND NOT EXISTS (SELECT Aac021
FROM c
WHERE Aae002 = '201109'
AND C.Aac001 = B.Aac001
AND C.Aac021 = B.Aac021);
A.Aac002,
B.Aab001,
B.Ajc090,
B.Aac021
FROM a
INNER JOIN
(SELECT B.Aab001,
B.Ajc090,
B.Aac021
FROM B
WHERE NOT EXISTS (SELECT Aac021 FROM c WHERE Aae002 = '201109' AND C.Aac001 = B.Aac001 AND C.Aac021 = B.Aac021))
b ON A.Aac021 = B.Aac021
WHERE B.Aae116 = '1'
AND (B.Ajc090 = To_Date('2011-01-01', 'yyyy-mm-dd') )B
SELECT A.Aac001,
A.Aac002,
B.Aab001,
B.Ajc090,
B.Aac021
FROM a
INNER JOIN
(SELECT B.Aab001,
B.Ajc090,
B.Aac021
FROM B
WHERE NOT EXISTS (SELECT Aac021 FROM c WHERE Aae002 = '201109' AND C.Aac001 = B.Aac001 AND C.Aac021 = B.Aac021))
b ON A.Aac021 = B.Aac021
WHERE B.Aae116 = '1'
AND (B.Ajc090 = To_Date('2011-01-01', 'yyyy-mm-dd') )
SELECT A.Aac001,
A.Aac002,
B.Aab001,
B.Ajc090,
B.Aac021
FROM a
INNER JOIN b
ON A.Aac021 = B.Aac021
WHERE B.Aae116 = '1'
AND B.Ajc090 = To_Date('2011-01-01', 'yyyy-mm-dd'
AND NOT EXISTS (SELECT Aac021
FROM c
WHERE Aae002 = '201109'
AND C.Aac001 = B.Aac001
AND C.Aac021 = B.Aac021)
UNION
SELECT A.Aac001,
A.Aac002,
B.Aab001,
B.Ajc090,
B.Aac021
FROM a
INNER JOIN b
ON A.Aac021 = B.Aac021
WHERE B.Aae116 = '1'
AND
To_Date('2011-01-01', 'yyyy-mm-dd') = To_Date('2011-01-01', 'yyyy-mm-dd')
AND NOT EXISTS (SELECT Aac021
FROM c
WHERE Aae002 = '201109'
AND C.Aac001 = B.Aac001
AND C.Aac021 = B.Aac021);
后少了个括号。
中如果第一个输入时间 = 第二个时间 那么会执行全部查询 是这个意思!第二个时间是不变的。
可不可以创建索引呢?
2. 创建索引不知道你说的是哪个列创建索引呢?对于
To_Date('2011-01-01', 'yyyy-mm-dd') = To_Date('2011-01-01', 'yyyy-mm-dd')
来说两侧都是变量和常量,这个条件是和索引无关的。