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);
que je peux faire:deux chefs d'accusation sur deux jointures dans une requête
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;
pour sélectionner le nombre de KsiazkaAutor
ou
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;
pour sélectionner le nombre de Recenzje.
Comment puis-je obtenir les deux comptes dans un SELECT?
EDIT: 1er sélectionnez:
"Bolesław"; "Prus"; 3
"Adam", "Kowalski", 5
"Stephen", "roi"; 3
"Andrzej" ; "Sapkowski"; 3
"Władysław"; "Reymont"; 3
"Richard", "Dawkins"; 3
"Zofia"; "Nalkowska"; 3
"Henryk"; "Sienkiewicz"; 3
"Terry"; "Pratchett"; 3
"Eliza"; "Orzeszkowa"; 4
"Adam"; "Mickiewicz"; 2
"John RR"; "Tolkien"; 5
"Mikołaj"; "Kopernik"; 1
"LEN" ; "Śmierdzący"; 0
"Jan", "Nowak", 5
"Kamil"; "Kowalik"; 0
"Ignacy"; "Krasicki"; 3
2ème sélection:
"Bolesław"; "Prus"; 0
"Adam"; "Kowal ski "0
"Stephen"," King "0
"Andrzej";" Sapkowski "; 0
"Władysław";" Reymont "; 0
"Richard"," Dawkins "; 0
"Zofia"; "Nalkowska"; 0
"Henryk"; "Sienkiewicz"; 1
"Terry"; "Pratchett "; 0
"Eliza";" Orzeszkowa"; 2
"Adam"; "Mickiewicz "0
" John RR"" Tolkien "0
" Nicolas "" Copernic "0
" LEN "" Smelly "0
" John "" Smith "0
" Kamil "" Kowalik « ; 0
"Ignace" "Krasicki" 0
votre réponse:
"George", "Prusse « , 3, 0
" Adam "" Smith", 5, 0
" Stephen "" roi "; 3; 0
" Andrew "" Sapkowski « ; 3; 0
"Reymont"Wladyslaw" « ; 3; 0
" Richard"," Dawkins'; 3; 0
"Sophia", "Nalkowska '; 3; 0
" Henry "" Sienkiewicz'; 3; 3
"Terry" « Pratchett '; 3; 0
" Eliza "" Orzeszkowa'; 8; 8
"Adam", "Mickiewicz « ; 2; 0
" John RR", "Tolkien" , 5, 0
"Nicolas", "Copernic", 1, 0
"LEN" "Smelly"; 0; 0
"John", "Smith", 5, 0
"Kamil"; " Kowalik "; 0; 0
"Ignace", "Krasicki"; 3; 0
+1 - Battez-moi! – JNK
@ksogor - basé sur quoi? postgre ne supporte pas plusieurs jointures? – JNK
Cela ne fonctionne pas bien. Il renvoie count (r.id) égal à count (count) lorsque count (r.id)> 0 et 0 sinon. –