Başlıktaki 'python' kelimesiyle veritabanındaki tüm kitapları yazan yazarın gösterilmesi için bir görünüm oluşturdum. Sahip olduğum konu, birden fazla yazar varsa hiçbir şey döndürmemesi. Bu, görünümün çalışma kodu, toplama işlevlerini (sayımı) kullanarak bir alt soruyu ya da EXIST'leri kullanmam gerektiğini biliyorum, ancak nasıl çalıştığını bilmiyorum.SQL - Yalnızca benzersiz bir yanıt veya hiçbir şey döndürmek için sorguyu seçin
CREATE VIEW sole_python_author(author_first_name, author_last_name)
AS SELECT first_name, last_name
FROM authors, books
WHERE authors.author_id = books.author_id AND
title LIKE '%Python%'
GROUP BY authors.author_id;
'yazarların tablosu:
CREATE TABLE "authors" (
"author_id" integer NOT NULL,
"last_name" text,
"first_name" text,
Constraint "authors_pkey" Primary Key ("author_id")
);
' kitapların tablosu:
CREATE TABLE "books" (
"book_id" integer NOT NULL,
"title" text NOT NULL,
"author_id" integer REFERENCES "authors" (author_id) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE,
"subject_id" integer REFERENCES "subjects" (subject_id) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE ,
Constraint "books_id_pkey" Primary Key ("book_id")
);
yılında 'piton' olan bir kitap yazmış tek yazar varsa başlık, isimlerini iade etmelidir. Birden fazla varsa, hiç bir şey vermemelidir. Herhangi bir yardım çok takdir edilecektir!
İki tablodan bazı veriler gösterebilir ve beklenen sonuç nedir? En iyi durumda bir keman hazırlayın: http://sqlfiddle.com/#!15 – dnoeth
@dnoeth Bu bilgiyi – Brittany