2017-04-22 35 views
0

我從氣象站的測量數據更新在SQL Server中一個表的列,與站名(希伯來文):從另一個

enter image description here

我也創建了這些氣象站的表它們的緯度和經度:

enter image description here

我已經寫了應該從第二緯度/多頭更新第一表的查詢,但它不工作:

update t1 
set t1.MeasurementLat = t2.Latitude, 
    t1.MeasurementLong = t2.Longitude 
from [dbo].[Measurements] as t1 
inner join [dbo].[StationCoords] as t2 on t1.StationName like t2.Station 

我認爲這是與站名正在讀取的方式,也許是與編碼的問題,因爲這個查詢就會回一個空的結果,太:

SELECT TOP (5) * 
FROM [dbo].[Measurements] 
WHERE [StationName] = 'אריאל מכללה'; 

任何想法?

+0

嘗試使用'='而不是'like'。和你的例子名稱是不一樣的。 –

回答

1

您的示例名稱不一樣。也許這將工作:

update m 
    set MeasurementLat = sc.Latitude, 
     MeasurementLong = sc.Longitude 
    from dbo.[Measurements] m join 
     dbo.[StationCoords] sc 
     on m.StationName like sc.Station + '%'; 
+0

哪個示例名稱不一樣? –

+0

它可行,但我不確定我做錯了什麼,你能解釋一下嗎? –

+1

@BorisK。 。 。 「Station」和「Station Name」不一樣。 ''LIKE'沒有通配符,很像'='。 –