2016-03-18 16 views
1

Kullanmakta olduğum veritabanında, her bir şube kimliği için Kayboyun Kabilesi adlı kitapla birlikte kopya sayısını vereceğim.Bir sorgudaki değerleri dönüştürme

select distinct BC.branch_id, no_of_copies 
from Book_Copies BC, Book B, Library_Branch LB 
where BC.book_id = (select book_id from Book where title = 'The Lost Tribe'); 

Ama onların şube kimlikleri ile birlikte Library_Branch tabloda bulunan karşılık gelen şube isimleri, kullanmak gerekir. Bunu nasıl değiştireceğimi bilmiyorum, bunu nasıl yaparım? Gerçekten mümkün olan her yerde Bilginize Eğer alt seçer kaçınmalıdır yapısını

SELECT DISTINCT BC.branch_id, no_of_copies, LB.branch_name 
FROM Book_Copies BC 
LEFT JOIN Book B ON BC.book_id = B.book_id 
LEFT JOIN Library_Branch LB ON BC.branch_id = LB.branch_id 
WHERE B.title = 'The Lost Tribe'; 

bilmeden

cevap

0

.

+0

Bu benim için çalıştı, teşekkür ederim: D Neden neden işe yaradığından emin değilim, sanırım sol birleştirme hakkında biraz araştırma yapmalıyım. – TheBandit

0

INNER JOIN'i deneyin. Tablo yapısıyla ilgili fark ettiğimden, aşağıdakileri kullanabilirsiniz.

SELECT branch_id, branch names, no_of_copies 
    FROM Library_Branch a 
    INNER JOIN Book b ON a.book_id = b.bookID 
    WHERE b.book_name = "The Lost Tribe" 

İç tablada kitap masasını ve dal masasını kullanın ve yabancı anahtarla birleştirin.

+0

Çalışmak için herhangi bir şans yoktu, ama teşekkürler. – TheBandit

İlgili konular