오라클에 두 개의 SQL 쿼리를 결합하고 있습니다. 첫 번째 쿼리는 테이블에서 도메인 설명을 반환하고 두 번째 쿼리는 입력 매개 변수 (COST_CENTER) 내에 존재하는 도메인 설명 만 반환합니다.하나의 LEFT OUTER JOIN과 두 개의 INNER JOINS가있는 두 개의 Oracle SQL 쿼리를 네 개의 테이블로 결합하십시오.
1 쿼리 :
SELECT distinct condition as condition_code, value as condition_literal
FROM CULVERT_INSPECT
LEFT OUTER JOIN
(SELECT EXTRACTVALUE (CodedValues.COLUMN_VALUE, 'CodedValue/Code')
AS Code,
EXTRACTVALUE (CodedValues.COLUMN_VALUE, 'CodedValue/Name')
AS VALUE
FROM GDB_ITEMS_VW items
INNER JOIN GDB_ITEMTYPES itemtypes
ON items.TYPE = itemtypes.UUID,
TABLE (
XMLSEQUENCE (
XMLType (Definition).EXTRACT (
'/GPCodedValueDomain2/CodedValues/CodedValue')))
CodedValues
WHERE itemtypes.Name = 'Coded Value Domain'
AND items.Name = 'OVERALL_CONDITION') coded_values
on CULVERT_INSPECT.condition = coded_values.code
ORDER BY CONDITION_CODE
2 검색어 : 첫 번째 쿼리에서
SELECT distinct CULVERT_INSPECT.CONDITION
FROM CULVERTS
INNER JOIN CULVERT_INSPECT ON (CULVERTS.GLOBALID_1 =
CULVERTGID)
WHERE COST_CENTER = '551807'
출력 :
CONDITION_CODE CONDITION_LITERAL
0 Excellent - Like New
1 Good - Some Wear, Structurally Sound
2 Poor - Deteriorated, Consider For Repair
3 Very Poor - Serious Deterioration
4 Inaccessible
'CULVERTGID'는 CULVERT_INSPECT''에서 열은 -입니다 그것은 주어진'CONDITION'에 대한'CULVERT_INSPECT' 독특한? –
@KaushikNayak 네,'CULVERTGID'는'CULVERT_INSPECT'의 컬럼입니다. 고유 한 ID이지만 주어진 '조건'에 대한 ID는 아닙니다. –
그리고 첫 번째 질의에'CULVERTGID'를 포함 시키면 동일한 수의 행을 얻을 수 있습니다. –