1

このデータベースは、場所と緯度と経度の値を含む 2 つのテーブルをマージするためにのみ使用されます。私がしたいのは、緯度と経度の値がテーブル1に追加されるように、2つのテーブルを場所で結合することです.

表1:

Title:                Location:                          Latitude:       Longitude
pizza shop            london, chelsea, el13 4hr          Null            Null
Phone Shop            Manchester - Derby                 Null            Null
Computer Repair       Birmingham (b70)                   Null            Null


Table 2:

Location             Latitude:          Longitude:
London               53.6658            0.25533
birmingham           54.3665            0.89336
manchester           66.3368            0.25836

表 1 の場所の列には、場合によってはカンマ ダッシュまたは複数の場所を使用したデータが含まれている可能性があるため、最初に一致したものと一致するように全文を使用し、そこに経度と緯度の値を表示することを選択しました。

表 1 の最終結果は次のようになります。

Title:                Location:                          Latitude:       Longitude
pizza shop            London                             53.6658         0.25533
Phone Shop            manchester                         66.3368         0.25836
Computer Repair       birmingham                         54.3665         0.89336

ご協力いただきありがとうございます。

4

2 に答える 2

1

あなたはこれを探しているかもしれません

    select t1.Title , SUBSTRING_INDEX(t1.Location, ' ', 1)as Location , t2.Latitude  , t2.Longitude 
   from Table1 t1
  inner join
  Table2 t2
   on  SUBSTRING_INDEX(t1.Location, ' ', 1) = t2.Location

出力:

TITLE               LOCATION       LATITUDE     LONGITUDE
pizza shop          london         53.6658      0.25533
Computer Repair     Birmingham     54.3665      0.89336
Phone Shop          Manchester     66.3368      0.25836

デモSQLFIDDLEはこちら

withUPDATEステートメントはそのようにする必要があります

    update Table1 t1
        inner join Table2 t2
        on  SUBSTRING_INDEX(t1.Location, ' ', 1) = t2.Location 
    SET t1.Latitude = t2.Latitude ,
        t1.Longitude = t2.Longitude

デモSQLFIDDLE

于 2013-03-03T17:50:43.717 に答える
0
select t1.title, t2.location, t2.latitude, t2.longitude
from table1 t1, table2 t2
where t1.location ilike concat('%', t2.location, '%');
于 2013-03-03T17:29:19.610 に答える