我的select语句没有得到理想的结果。连接似乎正在起作用,但我的日期范围内的WHERE被完全忽略。 where语句“WHERE MOPACTIVITY.mopstart BETWEEN sysdate和(sysdate + 14)”将被完全忽略。有什么想法吗? 非常感谢您的专业知识。
尊敬, 乔纳森晨星
SELECT
MOPACTIVITY.MOPID,
MOPACTIVITY.MOPSERVICEIMPACTED "Type",
MOPACTIVITY.MOPSTATEACTIVITY "State",
MOPACTIVITY.MOPSTATUS "Status",
MOPACTIVITY.MOPSTART "SOM",
MOPACTIVITY.MOPEND "EOM",
MOPACTIVITY.MOPINTRUSIVE "INTRUSIVE",
MOPACTIVITY.MOPDESCRIPTION,
MOPNOTES.MOPNOTEUSER "MN_USER",
MOPNOTES.MOPNOTE "MN_NOTE"
FROM mopuser.MOPACTIVITY INNER JOIN mopuser.mopnotes ON MOPACTIVITY.MOPID = MOPNOTES.MOPID;
SELECT MOPACTIVITY.*, MOPNOTES.* from mopactivity.MOPNOTES where MOPACTIVITY.MOPID = MOPNOTES.MOPID
WHERE MOPACTIVITY.mopstart BETWEEN sysdate and (sysdate+14)
AND MOPACTIVITY.MOPINTRUSIVE = 'true'
AND MOPACTIVITY.mopstatus != 'Complete'
AND MOPACTIVITY.mopstatus != 'Cancelled'
AND (mopactivity.mopid not in (select MOPACTIVITY.mopid from mopuser.mopnotes where
MOPNOTES.MOPNOTEUSER LIKE '%Fortenberry%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Dixon%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Fregoso%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Reices%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Walley%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Lions%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Ramesh%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Saravanan%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Boominathan%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Srinivasan%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Sathya%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Sathish%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Malliga%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Yuvaraj%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Prabhu%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Joseph, Gilbert%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Pradeepa%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Veerababu%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Ramanan%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Rajesh%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Rajan%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Raja%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Vigneshwari%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Govardhan%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Gaytan%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Sheridan%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Goutham'
OR MOPNOTES.MOPNOTEUSER LIKE '%Thennarasu%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Santosh%'
OR MOPNOTES.MOPNOTEUSER LIKE '%Brown, W%'))
答案 0 :(得分:0)
你有两个独立的 SELECT
语句:分隔第一个SELECT
的分号:
SELECT
...
FROM mopuser.MOPACTIVITY
INNER JOIN mopuser.mopnotes
ON MOPACTIVITY.MOPID = MOPNOTES.MOPID;
-- statement delimiter ^
SELECT MOPACTIVITY.*, MOPNOTES.* from ...
因此,此多语句查询将返回两个结果集。
也许,您只能看到第一个查询的输出。但是,第一个查询实际上是根本没有具有WHERE
子句的查询:您所谈论的WHERE
条件是第二个SELECT
条件的一部分{ {1}}陈述。
所以,您可能需要以某种方式组合这两个查询。但是,如果您需要帮助,那将是一个完全不同的问题(需要单独提出)。