create table Autorzy(ID int, imie varchar, nazwisko varchar);
create table Wydawnictwa(ID int, nazwa varchar, adres varchar, tel varchar);
create table Ksiazki(ID int, ISBN bigint, wydawnictwo_id int, data date, ilosc int, tytul varchar);
create table KsiazkaAutor(ID int, autor_id int, ksiazka_id int);
create table Recenzje (id int, tresc varchar, autor_id int, ksiazka_id int);
我可以這樣做:選擇兩項罪名在兩個連接在一個查詢
select a.imie, a.nazwisko, count(ka.id) as IloscKsiazek
from autorzy a
left join KsiazkaAutor ka on a.id=ka.autor_id
group by a.imie, a.nazwisko;
從KsiazkaAutor
SELECT COUNT或
select a.imie, a.nazwisko, count(r.id) as IloscRecenzji
from autorzy a
left join Recenzje r on a.id=r.autor_id
group by a.imie, a.nazwisko;
從Recenzje選擇計數。
如何在一個SELECT中同時得到兩個計數?
編輯: 第一選擇:
「博萊斯瓦夫」; 「普魯斯」; 3
「亞當」; 「科瓦爾斯基」; 5
「泉」, 「特大」; 3
「安傑伊」 ; 「Sapkowski」; 3
「瓦迪斯瓦夫」; 「雷蒙特」; 3
「理查德」; 「道金斯」; 3
「蘇菲雅」; 「Nałkowska」; 3
「亨裏克」; 「顯克微支」; 3
「Terry」;「Pratchett」; 3
「伊麗莎」; 「Orzeszkowa」; 4
「亞當」; 「密坎凱維奇」; 2
「約翰RR」, 「托爾金」; 5
「Mikołaj」; 「哥白尼」; 1
「LEN」 ; 「Śmierdzący」 0
「揚」, 「諾瓦克」; 5
「卡米爾」; 「Kowalik」 0
「伊格納奇」; 「Krasicki」; 3
第二選擇:
「Bolesław」;「Prus」; 0
「Adam」;「Kowal滑雪 「; 0
」泉「,」 王 「; 0
」安傑「,」 Sapkowski 「0
」瓦迪斯瓦夫「,」 雷蒙特 「0
」理查德「,」 道金斯的「0
「蘇菲雅」; 「Nałkowska」 0
「亨裏克」; 「顯克微支」; 1
「特里」; 「普萊契 」0
「伊麗莎」;「 Orzeszkowa」; 2
「亞當」;「密茨凱維奇「; 0
」John RR「」 托爾金 「0
」 尼古拉斯 「」 哥白尼 「0
」 LEN 「」 臭 「0
」 約翰 「」 史密斯 「0
」 卡米爾 「」 Kowalik「; 0
「伊格」 「Krasicki」 0
你的答案:
「喬治」, 「普魯士「; 3; 0
" 亞當 」「 史密斯」,5,0
"泉 「」 王 「; 3; 0
」 安德魯 「」 Sapkowski「; 3; 0
「瓦拉迪斯羅」 「雷蒙特「; 3; 0
" 理查德」,「Dawkins的; 3; 0
」索菲亞「,」Nalkowska '; 3; 0
" 亨利 「」 顯克微支'; 3; 3
「特里」「普拉切特 '; 3; 0
" 伊麗莎 「」 Orzeszkowa'; 8; 8
「亞當」, 「密坎凱維奇「; 2; 0
" 約翰RR」,「托爾金」 ,5,0
「尼古拉斯」, 「哥白尼」,1,0
「LEN」 「臭」; 0; 0
「約翰」, 「史密斯」,5,0
「卡米爾」;「 Kowalik「; 0; 0
「伊格內修斯」, 「Krasicki」; 3; 0
+1 - 擊敗我! – JNK 2010-10-29 12:42:42
@ksogor - 基於什麼? postgre不支持多個連接? – JNK 2010-10-29 12:43:20
它行不通。當count(r.id)> 0時返回count(r.id)等於count(count),否則返回0。 – 2010-10-29 12:43:50