我正在使用SQL Server 2008,並且我有兩個表要加入。我提供了下面的內容,顯示了我的數據的外觀。我想加入給定列上的兩個表,但是我怎樣才能用表B中數字前面的「ID」來做到這一點?我正在考慮加入,但我不知道該怎麼做。在sql中連接表的數據並不完全匹配
喜歡的東西...
Select *
From TableA AS A
Left Join TableB AS B
On A.ColumnA = B.ColumnB
但是,這是行不通的,因爲數字不完全匹配。
TableA ColumnA
123
456
789
TableB ColumnB
ID123
ID456
ID789
我希望我說得夠清楚。有什麼建議麼?
' 。 – DaaaahWhoosh 2015-01-20 19:37:18
@DaaaahWhoosh似乎有一個很好的建議。根據您的數據庫,您可能需要使用「||」連接字符串而不是「+」。另外,如果這些數字實際上是一個數字類型,那麼您可能需要首先將其轉換爲字符串類型。另一種選擇是添加一個適合加入兩個表的計算列的視圖。 – unigeek 2015-01-20 19:43:23
對於所有數據庫,此類代碼不應出現在生產中。在字段上應用函數可防止數據庫使用任何索引,從而導致全表掃描。 *爲什麼*你是否嘗試以這種方式加入餐桌?更好的選擇是拆分ColumnB,可能使用計算列,並在其上創建索引 – 2015-01-20 20:11:55