2015-02-12 54 views
0

我正在爲我的公司建立一個空運貨運數據庫。我在所有機場都有一張桌子,另外一張桌子上有空運費用。以下是我對每個表的字段(一個*意味着它是一個關鍵的組成部分)有一列與訪問中的另一個表中的2個不同字段有關?

tblAirports

  • AirportID *(自動編號)
  • AIRPORTCODE(文本 - 3個字母的IATA代碼)
  • AirportCity(數字 - 連接到城市表)

tblAirFreight

  • OriginAirport *(數字 - 連接到tblAirports)
  • DestAirport *(數字 - 連接到tblAirports)
  • 公司*(數字 - 連接到公司的表)
  • 50公斤。
  • 100公斤。
  • 500公斤。

空運貨物連接到機場表,並在起運和目的地服務上都具有參照完整性。

現在,即使是一個簡單的選擇查詢將在空運表上工作。我想輸入一個起源機場代碼(SEA,JFK等)和/或目的地機場代碼,然後查詢返回相應的空運費率。我該怎麼做呢?

+0

請問您是否可以詳細說明「現在,即使是簡單的選擇查詢也不會在空運貨物表上工作」。你有任何錯誤? – SoulTrain 2015-02-12 03:18:53

回答

0

聽起來好像您想要獲取貨運表中每個機場列的機場詳細信息,因此您只需加入機場表兩次。然後根據提供的參數進行過濾。這只是粗略的指向正確的方向,你可能需要玩一下where子句。

select * 
from 
    tblAirFreight f 
    inner join tblAirports o 
     on o.AirportID = f.OriginAirport 
    inner join tblAirports d 
     on d.AirportID = f.DestAirport 
where 
    (f.OriginAirport = @YourOriginAirport or isnull(@YourOriginAirport) = 1) 
    and (f.DestAirport = @YourDestAirport or isnull(@YourDestAirport) = 1) 
相關問題