2016-06-12 3 views
1

私は書店データベースを作成しています。「著者」テーブルには、書籍「テーブル」の作者によって書かれた本を数えたいと思うカラムがあります。テーブル "Books"には、外部キー "id_author"があります。私はそれを行う方法を見当がつかない、それは"id of chosen author"の代わりにコードで書くことは何オラクルの行数をカウントする

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

のようなものですか?

「Author」という表の行に挿入する方法は?あなたは、その列(例えば、姓と名)でauthorsテーブルやクエリに参加することができ

+1

あなたはそれを更新しなければなりません。この性質の動的データを実際のデータベースに格納する必要はなく、必要なときに抽出するだけです。 – CHill60

答えて

1

:あなたが持っているアプリケーションに応じて

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 
関連する問題