Tables:
CREATE TABLE `crm\_account` (
 `CustomerID` varchar(255) NOT NULL,
 `CustomerName` varchar(255) DEFAULT NULL,
 `Industry` varchar(255) DEFAULT NULL,
 `Region` varchar(255) DEFAULT NULL,
 `CreateTime` datetime DEFAULT NULL,
 `UpdateTime` datetime DEFAULT NULL,
 `LighthouseLogo` enum('','Yes','No') DEFAULT NULL COMMENT 'lighthouse users are users with huge influence',
 `Segmentation` enum('SKA','KA','SMB') NOT NULL COMMENT 'customer priority',
 `IsTiDBCloudTenant` tinyint(1) DEFAULT NULL COMMENT 'Whether TiDB Cloud user',
 `CloudTenantID` varchar(255) DEFAULT NULL COMMENT 'TiDB Cloud Tenant ID',
 `CloudTenantCreateTime` varchar(255) DEFAULT NULL COMMENT 'TiDB Cloud Tenant create time',
 `CloudTenantType` enum('','Unknown','On Demand','Commitment Plan','Paid PoC') DEFAULT NULL COMMENT ' TiDB Cloud Tenant Payment Type',
 PRIMARY KEY (`CustomerID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4\_bin COMMENT='customer infomration'

CREATE TABLE `salesforce\_order` (
 `OrderID` varchar(255) NOT NULL,
 `CustomerID` varchar(255) NOT NULL,
 `ACVAmount` float NOT NULL,
 `ExchangeRate` varchar(255) NOT NULL,
 `OrderNumberC` varchar(255) NOT NULL,
 `Salesperson` varchar(255) NOT NULL,
 `OrderType` enum('New','New Subscription','Renewal','Expansion') NOT NULL,
 `OrderStartDate` date NOT NULL,
 `OrderEndDate` date NOT NULL,
 `Tax` float NOT NULL,
 `TCVAmount` float NOT NULL,
 `TermMonths` float NOT NULL,
 `ProductFamily` enum('TiDB Cloud','PingCAP Services','TiDB Enterprise Subscription','PingCAP Training & Exam Services','PingCAP Professional Services','PingCAP Consulting Services') NOT NULL,
 `FiscalPeriod` varchar(255) NOT NULL,
 `SigningDate` date NOT NULL,
 PRIMARY KEY (`OrderID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4\_bin

Assume you have a powerful function named fill\_later({description}), you can call it inside a SQL when you need more information. 

Let's think step by step, generate an json format answer for the question "What is the average price per customer?" using the following template
{
step. The question after Revised, Marked as RQ:
{RQ: {to\_fill}}

step. list all definitions of [concept or term] in the RQ are not clearly understood 
{unclearConcept: string[] = {to\_fill}}

step. try your best to a give definition of each concepts using the existing column in the tables
{definitions: string[] = {to\_fill}}

step. Disassemble the question into sub-questions, and list the step-by-step execution process in sql pseudocode format and and all tables/columns required to answer these sub-questions 
{executions: {
 subQuestion = {to\_fill},
 execution = {to\_fill},
 columns = {
 {table}: string[] = {to\_fill}, // table: columns
 {table}: string[] = {to\_fill},
 ...
 } 
},{
 subQuestion = {to\_fill},
 execution = {to\_fill},
 columns = {to\_fill} 
}...}

step. must follow the rules one by one, use the best practice to write a single SQL to answer RQ (make sure check relations of sub-questions).
rules {
- follow the Table Schema above strictly, do not use any non-exists table or non-exists column!!!
- use common table expression if necessary
- avoid "Invalid use of group function" error
- avoid "Unknown column" error
- avoid ambiguous column references by using table aliases and double-checking column names before generated
- make sure the SQL can answer RQ
}
{sql: string | null = {to\_fill}}
{sqlCanAnswer:boolean = {to\_fill}}
}
테이블을 만듭니다:
CREATE TABLE `crm\_account` (
 `CustomerID` varchar(255) NOT NULL,
 `고객명` varchar(255) DEFAULT NULL,
 `Industry` varchar(255) DEFAULT NULL,
 지역` varchar(255) DEFAULT NULL,
 CreateTime` 날짜 시간 DEFAULT NULL,
 업데이트 시간` 날짜 시간 DEFAULT NULL,
 `LighthouseLogo` enum('','Yes','No') DEFAULT NULL COMMENT '라이트하우스 사용자는 영향력이 큰 사용자입니다',
 `세분화` enum('SKA','KA','SMB') NOT NULL COMMENT '고객 우선순위',
 `IsTiDBCloudTenant` tinyint(1) DEFAULT NULL COMMENT 'TiDB 클라우드 사용자 여부',
 `CloudTenantID` varchar(255) DEFAULT NULL COMMENT 'TiDB 클라우드 테넌트 ID',
 `CloudTenantCreateTime` varchar(255) DEFAULT NULL COMMENT 'TiDB 클라우드 테넌트 생성 시간',
 `CloudTenantType` enum('','알 수 없음','온디맨드','약정형','유료 PoC') DEFAULT NULL COMMENT 'TiDB 클라우드 테넌트 결제 유형',
 PRIMARY KEY (`CustomerID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4\_bin COMMENT='customer infomation'

CREATE TABLE `salesforce\_order` (
 OrderID` varchar(255) NOT NULL,
 `고객ID` varchar(255) NOT NULL,
 ACVAmount` float NOT NULL,
 `ExchangeRate` varchar(255) NOT NULL,
 OrderNumberC` varchar(255) NOT NULL,
 `Salesperson` varchar(255) NOT NULL,
 주문유형` enum('신규','신규구독','갱신','확장') NOT NULL,
 주문시작일` 날짜 NOT NULL,
 `OrderEndDate` 날짜 NOT NULL,
 `Tax` float NOT NULL,
 `TCVAmount` float NOT NULL,
 `TermMonths` float NOT NULL,
 `ProductFamily` enum('TiDB 클라우드','PingCAP 서비스','TiDB 기업구독','PingCAP 교육 및 시험 서비스','PingCAP 전문 서비스','PingCAP 컨설팅 서비스') NOT NULL,
 회계기간` varchar(255) NOT NULL,
 `SigningDate` 날짜 NOT NULL,
 PRIMARY KEY (`OrderID`)
) ENGINE=InnoDB 기본 문자 집합=utf8mb4 COLLATE=utf8mb4\_bin

fill\_later({description})라는 강력한 함수가 있다고 가정하면, 더 많은 정보가 필요할 때 SQL 내에서 이 함수를 호출할 수 있습니다. 

다음 템플릿을 사용하여 "고객당 평균 가격은 얼마입니까?"라는 질문에 대한 json 형식의 답변을 생성하는 것을 단계별로 생각해 보겠습니다.
{
단계. 수정된 질문 뒤의 질문은 RQ로 표시합니다:
{RQ: {to\_fill}}

단계. RQ에서 [개념 또는 용어]의 정의가 명확하게 이해되지 않는 모든 정의를 나열합니다. 
{unclearConcept: 문자열[] = {to\_fill}}

단계. 표의 기존 열을 사용하여 각 개념에 대한 정의를 최선을 다해 제공하세요.
{definitions: string[] = {to\_fill}}

단계. 질문을 하위 질문으로 분해하고 단계별 실행 프로세스를 SQL 의사 코드 형식으로 나열하고 이러한 하위 질문에 답하는 데 필요한 모든 테이블/열을 나열합니다. 
{executions: {
 subQuestion = {to\_fill},
 실행 = {to\_fill},
 columns = {
 {테이블}: 문자열[] = {to\_fill}, // 테이블: 열
 {테이블}: 문자열[] = {to\_fill},
 ...
 } 
},{
 subQuestion = {to\_fill},
 execution = {to\_fill},
 columns = {to\_fill} 
}...}

단계. 규칙을 하나씩 따라야 하며, 모범 사례를 사용하여 RQ에 응답하는 단일 SQL을 작성해야 합니다(하위 질문의 관계를 확인해야 함).
규칙 {
- 위의 테이블 스키마를 엄격하게 따르고, 존재하지 않는 테이블이나 존재하지 않는 열을 사용하지 마십시오 !!!
- 필요한 경우 공통 테이블 표현식 사용
- "그룹 함수의 잘못된 사용" 오류 방지
- "알 수 없는 열" 오류 방지
- 테이블 별칭을 사용하고 생성 전에 열 이름을 다시 확인하여 모호한 열 참조를 피합니다.
- SQL이 RQ에 응답할 수 있는지 확인
}
{sql: 문자열 | null = {to\_fill}}
{sqlCanAnswer:boolean = {to\_fill}}
}