[英]SQL Using two tables for a query
我學習SQL已有一段時間,並且一直困擾着這個問題。
我有兩個存儲公司的桌子。 在一張用於整個公司的預訂表中,包括預訂號,日期,產品編號,數量和儲藏室。
在一張表格中,我有存儲設施名稱和存儲室,以定義該房間屬於哪個設施
我想在一種特定的存儲設施中獲得一種特定產品的數量的總和
SELECT sum(Quantity) from Bookings where ProductNo=8888 and Storage.StorageFacility="Central"
解決方案是否必須使用更復雜的查詢?
您的存儲設備位於與BOOKINGS
表不同的表中(並且它們通過STORAGE_ROOM
關聯)。 因此,您需要加入以下表格:
select sum(Quantity)
from bookings b
join storage_facility_details sfd
on b.storage_room = sfd.storage_room
where sfd.storage_facility = 'x'
and bookings.productno='8888'
在不同的數據庫系統上,SQL的語法可能略有不同。 通常用引號( "
)來引用表和類似的對象。使用單引號( '
)來提供值。此外,您引用的所有列的表都必須出現在FROM
后面。如果列的quantity
和存儲storagefacility
出現在兩者中表需要完全質量名稱。
另外,您需要將兩個表連接到一個列上,因此productno
也必須出現在storage
表中。
SELECT sum(quantity) FROM bookings, storage
WHERE (bookings.productno = storage.productno)
AND
(bookings.productno='8888' AND storage.storagefacility='Central');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.