나는 단순한 SQL SELECT 명령으로 생각했던 것에 몇 시간 동안 머리를 부순다. 나는 모든 것을 수색하여 내 것과 관련된 모든 질문을 읽었다. SQL Command Builder를 사용해 보았습니다. SQL 튜토리얼과 매뉴얼을 읽고 이해하고 처음부터 다시 빌드하려고 시도했습니다. (결국 저에게 꼭 필요한 명령입니다.) .세부터 SQL SELECT 및 SUM
하지만 지금은 원하는 결과를 얻지 못했지만 SELECT 명령을 구분하여 분리 할 수없는 것처럼 보입니다!
여기에 3 개의 테이블이 있습니다. 세 개의 테이블은 처음에는 공통 ID로 연결되고 두 번째 테이블은 다른 일반 ID로 연결되지만 첫 번째에서 세 번째의 공통 ID는 없습니다. B.amount의 해당 SUM으로, 각 A.id 및 A.name 및 표 B. 여러 양의 테이블 A. 여러 양
Table A : id, name
Table B : id, idA, amount
Table C : id, idB, amount
여러 이름 표 C. 결과에서 원하는 :의 말합시다 해당 SUM의 C.amount와 비교하십시오. 의 말을하자 조항 및/또는 LEFT JOIN을 WHERE
A.id
A.name
SUM(B.amount) WHERE B.idA = A.id
SUM(C.amount) WHERE C.idB = B.id for each B which B.idA = A.id
그것은 "처음 세 개의 열"에 대한 괜찮아, 그리고 "처음 두 열 네 번째", 모두. 그러나 나는 모든 것을 망치지 않고 4 번째 열을 모으는 것을 성취 할 수 없다!
"쉽게 테이블 C에 idA 열을 넣을 수 있습니다"라고 말할 수 있습니다! 쉬워야합니다. 하지만 정말 필요한가요? 나는 그렇게 생각하지 않는다. 그러나 나는 틀릴 수있다! 그래서, 나는 (나는 영원한 "SQL God"장식을 줄 것이다) SQL 기술로 웃는 사람에게 "정말 간단하다. 그냥해라. 그러면 바보 같이된다.";)
VB 2010 및 MS SQL Server 실행
감사합니다!
따라서, 데이터의 합계 결과 (일명 한 행)를 얻으려고합니다. A.id, A.name, sum (B.amount), sum (C.amount) B의 단일 A.id와 관련된 행 및 C의 B.id와 관련된 여러 행? –
우리는 그렇게 말할 수 있다고 생각합니다. 하지만 각각의 (A.id 및 A.name)에 대해 "하나의 단일 행"이 아니라 단일 SUM (B.amount) 및 SUM (C.amount)을 확인하십시오. – Peter