2
아래 테이블에 하나 이상의 임시 테이블을 추가하여 동일한 테이블과 조인하는 방법.임시 테이블 2 개로 결합
WITH financial_move_out_due_days AS (
SELECT property_id,
management_company_id,
value
FROM property_preferences
WHERE property_id IN (112,332) AND management_company_id = 23
)
SELECT
l.id,
l.primary_customer_id,
(c.name_first || c.name_last) AS customer_name_full,
c.email_address AS customer_email_address,
c.phone_number AS phone_number
FROM leases l
JOIN customers c ON (c.management_company_id = l.management_company_id AND c.id = l.primary_customer_id)
JOIN financial_move_out_due_days fmpodd ON (fmpodd.management_company_id = l.management_company_id AND fmpodd.property_id = l.property_id)
WHERE
l.management_company_id = 23
AND l.property_unit_id IS NOT NULL
AND l.unit_space_id IS NOT NULL';
을 당신이 CTE가 아닌 임시 테이블을 의미 생각합니다. CTE는 temoporary 테이블보다보기에 가깝습니다. 모든 정직에서는 대개 불필요하지만 통사론적인 설탕을 사용합니다. 읽기가 쉽지만 일반적으로 더 복잡한 SQL을 사용하여 수행 할 수있는 작업은 없습니다. 복잡한 SQL을 조각으로 나눕니다. @ realnumber3012 님이 귀하의 질문에 답변했습니다. 그 또는 더 세부 사항이 필요하면 알려주십시오. –
예. PGSQL을 처음 접했을 때 나는 CTE에 대해 몰랐습니다. –
'동일한 항목으로 연결 '하려면 하나의 CTE를 두 번만 사용할 수 있습니다. 귀하의 질문을 명확히하십시오. –