簡體   English   中英

SQL使用兩個表進行查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM