我有TBLISSUES包含以下数据: -
ISSUEID QUOTEID ISSUE_TYPE DATE_ADDED DATE_RESOLVED RESOLVED_BY RESOLVED
4312 989435 TPIUplift 14-Jun-18 N
4316 989077 TPIUplift 14-Jun-18 N
4333 989071 TPIUplift 14-Jun-18 N
4324 988403 TPIUplift 14-Jun-18 14-Jun-18 JohnSmith Y
4323 988402 TPIUplift 14-Jun-18 N
4317 987964 TPIUplift 14-Jun-18 N
和这个脚本: -
INSERT INTO tblissues (
quoteid,
issue_type,
date_added,
resolved
)
SELECT
*
FROM
(
SELECT
q.quoteid,
'TPIUplift',
trunc(SYSDATE) newissuedate,
'N'
FROM
tblquotesnew q
LEFT JOIN tbltariffsnew t ON q.tariff_id = t.tariffid
WHERE
t.uplift = 0
AND q.sales_route = 'TPI'
AND q.quote_status = 'Accepted'
AND q.status <> 'Cancelled'
) x
脚本查找问题(始终存在)。我想要添加一条新记录,只有现有的已解决记录不存在。
我尝试在插入的where子句中使用它,但仍然添加了一行
WHERE
NOT EXISTS (
SELECT
*
FROM
tblissues
WHERE
(x.quoteid = tblissues.quoteid
AND tblissues.issue_type = 'TPIUplift'
AND tblissues.resolved <> 'Y')
因此,使用上面的示例数据,我不希望为QUOTEID 988403插入一行,因为它的RESOLVED值为Y.
这可能吗?
答案 0 :(得分:1)
我不想为QUOTEID 988403插入一行,因为它已被解决 价值是Y。
考虑到这一点,以及您的QUOTEID
不同,但ISSUE_TYPE
对所有记录都相同,那么您是不是只想使用它?
WHERE NOT EXISTS
..
..
(
WHERE tblissues.ISSUE_TYPE = x.ISSUE_TYPE
AND tblissues.resolved = 'Y' )
如果没有,请更新您的问题,并为预期的输出添加更多行,并清楚地解释您想要的内容。