Oracleで次のSQLスクリプトを実行するとエラーが発生します。
SELECT D.ID
FROM DOOR D
JOIN STREET S ON (S.ID=D.STREET_ID)
WHERE
SDO_NN(D.LOCATION,SDO_UTIL.FROM_WKTGEOMETRY('POINT (11112.0111 321314.2222)'),'sdo_num_res=6') = 'TRUE'
or
S.ID IN (17);
_
しかし、 'または'を'そして 'またはdelete'を変更したときまたは(17)のs.id "エラーが発生しません。
SELECT D.ID
FROM DOOR D
JOIN STREET S ON (S.ID=D.STREET_ID)
WHERE
SDO_NN(D.LOCATION,SDO_UTIL.FROM_WKTGEOMETRY('POINT (11112.0111 321314.2222)'),'sdo_num_res=6') = 'TRUE'
and
S.ID IN (17);
_
型の種類場所フィールドin[〜#〜]ドア[〜#〜]テーブルはmdsys.sdo_geometry
と
型[〜#〜] ID [〜#〜]フィールドin [〜#〜] Street [〜#〜]テーブルは[〜#〜#〜#〜#〜 ]番号[〜#〜]
最初のSQLが働きたいソリューションに役立つことができますか?
ヒントは良いことをしますか?
SELECT /*+ LEADING(d) USE_NL(d s) INDEX s spatial_index) */
D.ID
FROM DOOR D JOIN STREET S ON (S.ID = D.STREET_ID)
WHERE SDO_NN (
D.LOCATION,
SDO_UTIL.FROM_WKTGEOMETRY ('POINT (11112.0111 321314.2222)'),
'sdo_num_res=6') =
'TRUE'
AND S.ID IN (17);
_