홈>
하나로 결합하려는 두 개의 SQL이 있습니다 (추가 속성 열을 얻기 위해 둘 다 참여하십시오).
1. 마스터 데이터 :이 부분은 회사의 세부 정보를 보여줍니다.
SELECT
dim.firm_sys_no "firm_sys_no",
firm_global_id "Firm Global ID"
FROM
FIRM_DETAILS_DIM LEFT OUTER JOIN ACTIVITIES_FACT ON
( FIRM_DETAILS_DIM.FIRM_SYS_NO=AACTIVITIES_FACT.FIRM_SYS_NO )
LEFT OUTER JOIN REPORTING_SALES_ORG_DIM ON
(REPORTING_SALES_ORG_DIM.ORG_SYS_NO=ACTIVITIES_FACT.SALES_ORG_SYS_NO )
INNER JOIN
(select * from REPORTING_SALES_ORG_DIM where EFFECTIVE_END_DATE is null) SALES_ORG_LATEST ON
(REPORTING_SALES_ORG_DIM.SALES_OFFICE_ID=SALES_ORG_LATEST.SALES_OFFICE_ID )
WHERE
(ACTIVITIES_FACT.EFFECTIVE_END_DATE is null )
AND ( FIRM_DETAILS_DIM.FIRM_GLOBAL_ID <> '-1')
AND ( SALES_ORG_LATEST.GLOBAL_REGION_NAME IS NOT Null )
AND ( SALES_ORG_LATEST.global_region_name IS NOT NULL )
GROUP BY
firm_details_dim.firm_sys_no,
firm_details_dim.firm_global_id
ORDER BY
firm_details_dim.firm_global_id,
firm_details_dim.firm_sys_no
2. 조회/하위 선택 : 회사 전체 ID 당 거래 횟수에 대한 정보를 반환합니다.
SELECT
firm_details_dim.firm_global_id,
(CASE
WHEN round(months_between(current_date, SLS_MONTHLY_TRANS_F.transaction_date),0)>4
THEN 0
ELSE 1
END) "Trs"
FROM SLS_MONTHLY_TRANS_F
INNER JOIN firm_details_dim ON
( firm_details_dim.firm_sys_no=SLS_MONTHLY_TRANS_F.firm_sys_no )
WHERE SLS_MONTHLY_TRANS_F.transaction_amount_usd<>0
GROUP BY
firm_details_dim.firm_global_id,
(CASE
WHEN round(months_between(current_date, SLS_MONTHLY_TRANS_F.transaction_date),0)>4
THEN 0
ELSE 1
END)
SQL 얻을 필요가 있습니다 : 위의 두 쿼리를 결합하여 마스터 SQL이 두 번째 쿼리 (Trs4m)의 추가 열을 갖도록하십시오. 내가 목표로하는 것은 마스터에서 어떤 회사가 거래 횟수가 0 또는 1인지 확인하는 것입니다.
- 답변 # 1
관련 자료
- Python에서 Excel 시트의 각 행에 MIN 값에 대한 추가 열 추가
- mysql - SQL 쿼리는 조건에 따라 추가 열을 반환합니다
- python - 두 번째 데이터 프레임에서 추가 열이 하나만있는 데이터 프레임 결합
- jsonb 열의 json 속성에있는 배열에서 배열 요소 가져 오기
- sql server - XML 데이터의 열과 속성 간 테이블 조인
- python - 데이터 프레임 열을 정렬 할 수 없습니다 'numpyndarray'개체에 'sort_values'속성이 없습니다 숫자를 쉼표로 구분할 수 없습니다
- postgresql - JSONB 열과 varchar 열의 중첩 된 obj 속성에 조인
관련 질문
- sql : 테이블 이름을 테이블 계층에서 특정 값의 ID (기본 키)가있는 테이블 이름을 찾는 방법은 무엇입니까?
- sql : INSERT INTO TAB SELECT * FROM TABLE TAB @ db2-값이 너무 많습니다.
- sql : 표에서 많은 수의 행을 샘플링합니다
- MS SQL SQLServer보기 -열 -행 -일치에 대해 최대 선택
- sql : 테이블 n 오라클에서 최대 값을 찾는 방법
- 조건이있는 Oracle SQL Pivot은 행을 열로 변환
- mysql : 조인이있는 CTE를 하위 쿼리로 변환 할 수 있습니까?
- id= 0 또는 id= 555 중 하나만 선택하십시오-ORACLE SQL
- sql : 동일한 테이블에서 동일한 값 복사
- sql : Oracle 테이블에 열 추가
흠, 명백한 옵션은 결과를 생성하기 위해 두 번째 쿼리에서 첫 번째 쿼리까지 추가 테이블을JOIN하는 것입니다.
어떤 이유로 든 수행 할 수없는 경우함수를 생성하고 (두 번째 쿼리를 기반으로) 첫 번째 기능을 호출하여 필요한 매개 변수를 전달할 수 있습니다. 아마도 첫 번째 옵션보다 (훨씬?) 느릴 것입니다 (힌트 : SQL-PL/SQL 컨텍스트 전환). 두 부분 중 하나를 선택 부분으로 가져 왔습니다. 그렇기 때문에 하위 쿼리를 선택하는 동안 하나의 속성으로 제한 할 필요가 없었습니다.