2016-06-12 1 views
1

나는 서점 데이터베이스를 만들고 있는데, "저자"테이블에는 저자가 "Books"테이블에 쓴 책을 집계 할 칼럼이 있습니다. 표 "Books"에는 외래 키 "id_author"가 있습니다. 나는 아무 생각이 어떻게 그것을 할 수 없습니다 필요가행 오라클의 위치 계산하기

SELECT COUNT(*) FROM Books WHERE id_author = "id of chosen author" 

같은 것이 "id of chosen author" 대신 코드에 무엇을 쓰고있어?

"Author"테이블에 행을 삽입하는 방법은 무엇입니까?

+1

. 이러한 특성을 가진 동적 데이터를 실제 데이터베이스에 저장하지 말고 필요한 때에 추출하면됩니다. – CHill60

답변

1

당신은 그것의 열 (예를 들어, 첫 번째와 마지막 이름)으로 authors 테이블 및 쿼리에 가입 할 수 : 당신이 가지고있는 응용 프로그램에 따라

SELECT COUNT(*) 
FROM books b 
JOIN author a ON b.id_author = a.id 
WHERE a.firstname = 'John' AND a.lastname = 'Doe' 
0

는 응용 프로그램이 이미 저자의 ID를 가질 수 있습니다. 이 차이가 Mureinik의 대답 당신은이 저자 및 책 테이블 간의 조인 할 필요가 없습니다,이 큰 데이터베이스에서 성능을 향상시킬 수에 비해 아마 많은 것은 아니지만 당신은 단지

SELECT COUNT(*) FROM Books WHERE id_author = "id of author provided by application" 

을 할 수 있다는 것을 의미한다. 저자가 책의

0

번호 : 저자는 새 책을 발표하는 경우 그냥 업데이트해야

select a.author, count(1) 
from author a 
join books b 
    on a.id = b.id_author 
group by a.author