programing

MySQL WITH RECURIC을 사용하여 계정의 계층도를 어떻게 수행합니까?

newsource 2023. 10. 22. 20:06

MySQL WITH RECURIC을 사용하여 계정의 계층도를 어떻게 수행합니까?

저는 인접 모델을 사용하여 일반적인 쿼리와 보고서를 구현하기 위해 WITH RECURIC을 사용하는 방법을 이해하는 데 어려움을 겪고 있습니다. 여기서 하나의 레코드는 "슈퍼" 레코드를 의미합니다.

동일한 테이블에 외래 키인 필드가 있는 InnoDB 테이블이 여러 개 있습니다.

예를 들어, 'general_journal' table holding(그 중에서도)으로 2부제 회계 시스템을 구현했습니다.Amount,Source,그리고.Destination기둥들뒤의 두 열은 계층 구조로 배열된 표준 7자리 계정 번호를 사용하는 '계정' 표를 참조합니다.

따라서 '계정' 표는 다음과 같은 행을 가질 것입니다(예를 들어,ID'1000000' 포함,SuperNULL 포함, 그리고Name'자산'을 포함하고 있습니다.

그 다음에 '1000010' 같은 다른 행이 있습니다.ID), '1000000' (Super), '현금 자산'( )Name) 및 '1000011'().ID), '1000010' (Super), '체킹'()Name).

저는 여러 하위 계정이 각자의 합계('일반 저널'의 합계)를 나타내는 표준 재무제표에 대해 표준 "대차대조표"와 "손익" 보고서를 만드는 방법에 대해 난처합니다.Amount동일한 열이 있는 열Source계정, 동일한 계정을 제외합니다.Destinationaccount), 그리고 각 슈퍼 계정은 포함된 모든 하위 계정 롤업의 합계를 보여줍니다.

제가 곤란하게 생각하는 또 다른 예는 우리 비영리 협동조합이 동물을 사육한다는 것입니다.각각의 동물 기록은ID그리고 들판들Dam그리고.Sire그 동물의 어미와 아버지의 신분증을 각각 포함하고 있습니다.이 정보가 어떻게 '가계목' 같은 보고서로 표현될 수 있는지 알 수가 없습니다.제가 발견한 예들은 이중적인 상황을 보여주기 위해 쉽게 바뀌지 않는 것 같습니다.

MariaDB 10.2.13을 사용하고 있습니다.저는 그것을 샅샅이 뒤지고, 재귀적인 예들을 찾아봤지만, 뭔가가 제 머리 속을 헤집지 못하고 있어요.

시간이 길어지고 있지만 도움이 된다면 스키마와 샘플 데이터를 추가할 수 있습니다.

어떤 조언이라도 해주셔서 감사합니다.

언급URL : https://stackoverflow.com/questions/53965434/how-do-you-do-a-hierarchical-chart-of-accounts-using-mysql-with-recursive