2017-04-22 4 views
0

からSQL Serverの内の1つのテーブルの列を更新しますその緯度と経度:(ヘブライ語)駅の名前で、私は気象観測所からの測定値のテーブルを持っている別の

enter image description here

私は2番目から緯度/ long型との最初のテーブルを更新する必要がありますクエリを書いたが、それは働いていない:

このクエリは、あまりにも、空の結果を戻しますので、私は、おそらくエンコーディングとは何かを放送局名が読み込まれている方法に問題があると思うし、
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。 。 。 「駅」と「駅名」は同じではありません。ワイルドカードを持たない 'LIKE'は' = 'によく似ています。 StationCoordsの –

関連する問題