table name : users u
id username src
1 mark 101
2 stanley 102
3 john 103
4 stewe 104
table name : call_history c
id src dst duration
1 101 555-1217 20
2 555-1315 102 30
3 555-2245 102 40
4 102 555-6523 30
5 102 555-4213 20
6 555-1689 102 15
7 103 555-1775 35
두 개의 테이블과 이러한 열이 있습니다. 조건은 다음과 같습니다. 내가 이름 당함으로써 그룹으로 볼 필요가 무엇MySQL - 여러 조건 및 결과 GROUP BY
SUM(duration) AS OutboundSUM (Condition: u.src=c.src)
COUNT(duration) AS OutboundCNT (Condition: u.src=c.src)
SUM(duration) AS InboundSUM (Condition: u.src=c.dst)
COUNT(duration) AS InboundCNT (Condition: u.src=c.dst)
;
username OutboundSUM OutboundCNT InboundSUM InboundCNT
mark 20 1 0 0
stanley 50 2 85 3
john 35 1 0 0
stewe 0 0 0 0
나는 선택하면, 모든 하위 쿼리를 UNION을, 내부 조인 시도했지만 작동하지 않았다. 연합 (Union)이 각 사용자 이름에 2 줄을 제공하고, 참여하면 나를 미쳤고 하위 쿼리는 오랜 시간이 걸리고 잘못된 결과가 표시됩니다.
모든 도움을 주실 수 있습니다.
문제는 Kicstart의 솔루션으로 해결되었습니다. 도움을 주셔서 대단히 감사합니다.
기본 키는 동일하지만 관련이 없습니다. 연결 만 src fileds입니다. – Looden
다른 속성 이름을 사용하십시오. DBMS를 혼동시킬 수 있습니다. –