2013-10-30 6 views
0

2 개의 테이블이 있습니다.ID에 따라 테이블에서 리소스 이름을 가져옵니다.

거래 (ID, ResourceID를, 타임 스탬프)

자원 (ID, 이름) 내가 좋아하는 출력 싶어

(계산 resource.name, 일을 (transaction.id))

나는 다음과 같은 쿼리를 사용하고

select EXTRACT(DAY from timestamp), resourceid, count(id) from transactions 
where timestamp between '01-OCT-13' AND '10-OCT-13' 
and resourceid in (select id from resource) 
group by resourceid, EXTRACT(DAY from timestamp) \ 
order by EXTRACT(DAY from timestamp); 

출력 :

1,1,13 
1,3,45 
1,6,76 
2,1,14 
2,2,46 
나는

1,resource1,13 
1,resource3,45 
1,resource6,76 
2,resource1,14 
2,resource2,46 

같은 출력이 사람이 좀 도와 주시겠습니까보고 싶다

?

편집

리소스 1은 예입니다. 숫자 1 앞에 리소스를 연결하고 싶지 않습니다. id = 1과 연결된 실제 이름을 원합니다.

답변

1

트랜잭션 및 자원 테이블에 참여하는 경우 recource.name 필드를 사용할 수 있습니다. 그러면 다음과 같이 보일 수 있습니다.

select EXTRACT(DAY from timestamp), resource.name, count(transactions.id) 
from transactions inner join resource 
    on transactions.resourceid = resource.id 
where timestamp between '01-OCT-13' AND '10-OCT-13' 
group by resource.name, EXTRACT(DAY from timestamp) 
order by EXTRACT(DAY from timestamp); 
+0

@Micheal - 감사합니다. 나는 네가 제안한 것을했다. 그 일. – CamelCase

관련 문제