我有兩張表;一個表格包含我所有的訂單(ORDERS),另一個表格是城市(CITY)的列表。如何根據截斷的主鍵值進行查詢?
任何給定訂單的OrderID的前6位都是根據訂單所來自的城市生成的。
CITY表的左列只是一個六位數的代碼,右邊是城市的名稱。
我想要做的是創建一個查詢,通過比較OrderID的前6位數字和CITY表格,我可以得到城市名稱。
例子:
ORDER
OrderID Customer Name Date
11111135465 David Summerhill 09/28/2011
44444435463 Margaret Jefferson 06/17/2013
55555548635 Matthew Cunningham 07/07/2012
22222265437 David Summerhill 07/08/2013
CITY
ID City Name
111111 New York
222222 Detroit
333333 San Jose
444444 Houston
555555 Seattle
666666 Phoenix
結果:
Customer Name Date City
David Summerhill 09/28/2011 New York
Margaret Jefferson 06/17/2013 Houston
Matthew Cunningham 07/07/2012 Seattle
David Summerhill 07/08/2013 New York
雖然我使用的MS Access,我想知道怎麼做這與標準的SQL,優選。
你可以改變模式 - 做最好的事情是將訂單拆分成兩個字段一個爲城市那麼它是一個簡單的城市 – Mark
加入這就是我最後做一個快速解決,但將不會允許我即時解決問題。相反,我需要定期更新。我無法訪問程序如何編碼ID。 – toolshed
這不是一個快速的解決方案,但長期的 - 嵌入意義的編碼領域只是一個糟糕的設計 - 涉及領域分裂的修復是短期的攻擊 – Mark