【发布时间】:2021-01-07 19:43:23
【问题描述】:
谁能看出这个查询有什么问题:
INSERT INTO CAND_SEARCH_RESULT_IDS (csr_id, sort_seq, cand_id)
SELECT
358572 csr, rownum sort_seq,
c.cand_id
FROM
candidates c
WHERE
EXISTS (SELECT cv.cand_id
FROM candidate_visibility cv
WHERE c.cand_id = cv.cand_id AND cv.client_id = 'client')
AND c.status IN ('AP', 'UC', 'IC', 'UI')
AND (c.client_id = 'client')
AND (c.cand_id IN (SELECT SCORE(1) score, cand_id
FROM cand_kw
WHERE client_id = 'client'
AND (CONTAINS(kw, 'customer service', 1) > 0)
ORDER BY SCORE(1) DESC));
它一直告诉我我缺少右括号,但我没有。问题在于c.cand_id 部分中的查询。如果我提取:
SELECT
SCORE(1) score,
cand_id
FROM
cand_kw
WHERE
client_id = 'client'
AND (CONTAINS(kw, 'customer service', 1) > 0)
ORDER BY
SCORE(1) DESC
效果很好。
我在一个 20 年前无法更新的应用程序上使用旧的 Oracle 9i 数据库。
【问题讨论】: