0

申し訳ありませんが、このトピックに再度投稿してください。これには 4 ページの結果があり、特定のソリューションに絞り込むのが難しくなっています。

この SQL の何が問題なのか誰にもわかりますか?

SELECT evntmst_id, count(evntmst_id) AS idcount
FROM evntcond 
WHERE EVNTMST_ID NOT IN (
    SELECT DISTINCT c.EVNTMST_ID 
    FROM evntcond c 
    LEFT JOIN evntmst m 
    ON c.EVNTMST_ID = m.EVNTMST_ID
    WHERE m.EVNTMST_TYPE IN (1, 7) -- Group or Subset
    AND m.EVNTMST_ID IS NOT NULL   -- remove data integrity issues
    GROUP BY c.EVNTMST_ID
    ORDER BY c.EVNTMST_ID
)
GROUP BY EVNTMST_ID
ORDER BY count(evntmst_id) Desc

これにより、 ORA-00907: missing right parenthesis

入れ子になった SELECT DISTINCT を 1,2 に置き換えると、すべて正常に動作します。

SELECT evntmst_id, count(evntmst_id) AS idcount
FROM evntcond 
WHERE EVNTMST_ID NOT IN (
    1,2
)
GROUP BY EVNTMST_ID
ORDER BY count(evntmst_id) Desc

ネストされたクエリを独自に実行すると、すべて正常に動作します。

SELECT DISTINCT c.EVNTMST_ID 
FROM evntcond c 
LEFT JOIN evntmst m 
ON c.EVNTMST_ID = m.EVNTMST_ID
WHERE m.EVNTMST_TYPE IN (1, 7) -- Group or Subset
AND m.EVNTMST_ID IS NOT NULL   -- remove data integrity issues
GROUP BY c.EVNTMST_ID
ORDER BY c.EVNTMST_ID

オラクルとは何ですか。これはバグですか?

4

1 に答える 1