2017-10-24 14 views
0

현재 테이블을 설계 한 방식에 문제가 있습니다.데이터베이스 테이블 (다시) 디자인. 여러 행을 하나로 결합하고 기본 키를 지정하십시오. Microsoft SQL Server

내가하고있는 일은 CODA 파일 (벨기에 은행 표준)을 다루는 것입니다. 모든 트랜잭션을 테이블에 저장하고 모든 트랜잭션에 GUID 키를 할당하고 있습니다.

이제 모든 단일 행은 트랜잭션이 아니며 일련의 행이 함께 하나의 트랜잭션을 구성합니다. 나는 모든 트랜잭션에 대한 키를 생성하고이를 아래 2 개의 테이블에 저장함으로써이를 해결했다. 이 키가 기본 키인 세 번째 테이블을 통해이 링크를 연결했습니다.

필자는이 세 번째 테이블을 없애고 대신 아래에 표시된 2 개의 테이블 (삭제되지 않으므로 세 번째 테이블이 아님) 각각에서 모든 트랜잭션을 단일 행으로 결합하도록 요청했습니다.

SQL Server 및 Visual Studio에서 새로 개발했습니다. 이와 관련하여 도움이 될 것입니다. 이 사람들에 대한 아이디어가 있습니까?

bank statement summary

name_table

답변

0

bank statement line

그냥 앞으로 이동하기 전에 명확히하려는 당신은 연결하는 시도되는 트랜잭션에 대한 (11 + 12 = (완료 23 값)) 또는 오히려 (완료시 ((11, 12) 값) 트랜잭션에 대해?

+0

저는 21과 31로 시작하는 행의 모든 ​​데이터를 하나의 단일 행에 넣으려고합니다. 마찬가지로, 다음 데이터 세트는 21에서 다음에 나타나는 21까지입니다. 따라서 모든 데이터 WITHIN (21-21)이 하나의 단일 행에 있습니다. 다른 테이블에 대해서도 동일합니다. 0, 1, 8, 9로 시작하는 행의 모든 ​​데이터가 모두 단일 행에 있어야합니다. –

+0

나는 이해한다. 그러나이 방법으로 진행하는 문제가 조금있다. 예를 들어 21 행을 사용할 수있다. 모든 행을 단일 행에 추가한다고 가정 해 보겠습니다. "amount"라고 표시된 열은 값 (12500, 13000, 20000, 40000)을 보유합니다. 그러면 숫자가 문자열로 바뀌어 계산이 어려워집니다. 일반적으로 이와 같은 형식의 서식은 데이터베이스에서 직접 작성되지 않고 보고서 작성기에서 수행됩니다. – Codatron

+0

SSRS와 같은 보고서 작성기에서 달성하고자하는이 레이아웃을 빌드하고 다른 테이블에 숫자를 추가하면 (일부 데이터가 모호 해짐) 원본 테이블을 유지하고 정보를 순서대로 정렬하는 것이 가장 좋습니다. 제대로 그룹화되었거나 문자열 변환 경로를 사용할 수는 있지만 언급 한대로 계산을 더 어렵게 만듭니다. 어떤 것을 선호하는지 알려 주시면 도와 드리겠습니다. – Codatron