0
Oracleデータベースでキーワード・エラーが返される理由:キーワードの例外がありません。Oracle
注意:WHERE条件に適切なwhere文を選択するために、大文字と小文字の条件が使用されています。これは私がOracleに移行しているMySQLのクエリです。
SELECT OFFICE_TYPE_CD, OFFICE_TYPE_DESC
FROM m_office_types
WHERE CASE
WHEN OFFICE_TYPE_CD IN (7)
THEN
office_level_cd < (SELECT DISTINCT office_level_cd
FROM m_office_types
WHERE office_type_cd = 7
AND RECORD_STATUS <> 'D')
ELSE
office_level_cd <= (SELECT DISTINCT office_level_cd
FROM m_office_types
WHERE office_type_cd = 7
AND RECORD_STATUS <> 'D')
END
AND RECORD_STATUS = 'C'
AND state_cd = 27
AND OFFICE_NAME IS NOT NULL
ケアのように書きました! –
'CASE'は何をすべきですか?これは、 'OFFICE_TYPE_CD IN(7)'の場合、 'CASE'値が' office_level_cd <(...) 'でなければ意味がないと言います。このクエリーで何が必要かを説明してください。 – Aleksej
'case'式の使い方が間違っているためです。 case式の 'then'節に比較演算子を入れるため、' missing keyword'エラーが発生します。これを修正すると、 'where'節で' case'式の結果を何かに比較しなければならないので、 '無効な関係演算子'が生成されます。 –