0

以下で指定されている2つのテーブルを比較するには、どのクエリが適していますが、location(table1)の文字列の一部のみがLocation(table2)と一致します。

Location(table1)    Location(table2)
india- north        USxcs
India-west          Indiaasd
India- east         Indiaavvds
India- south        Africassdcasv
US- north           Africavasvdsa
us-west             UKsacvavsdv
uk- east            Indiacascsa
uk- south           UScssca
Africa-middle       Indiacsasca
Africa-south        Africaccc
Africa-east         UKcac
  1. location(table1)の最初の2文字とlocation(table2)の最初の2文字のみが一致する必要があります。助けてください

  2. location(table1)の任意のN(連続)文字とlocation(table2)の任意のN(連続)文字が一致する必要があります。

4

2 に答える 2

0

LIKEパターンマッチングに使えます。次の例は、table2 の場所と部分的に一致する table1 の場所のリストを示しています。

MSSQL では:

SELECT *
FROM location_table2 a, location_table1 b
WHERE b.location LIKE a.Location + '%'

MySQL では:

SELECT *
FROM location_table2 a, location_table1 b
WHERE b.location LIKE CONCAT(a.Location, '%')

MSAccess では:

SELECT *
FROM location_table2 a, location_table1 b
WHERE a.Location LIKE LEFT(b.Location, InStr(b.Location, '-') -1) & '%'
于 2012-09-12T07:24:08.183 に答える
0

MSAccess では、各テーブルの場所フィールドの最初の 2 文字だけを含む新しい列を導入する 2 つの新しいクエリを作成し、それら 2 つを結合する 3 つ目のクエリを追加します。

qry_table1:

select location as location1, left(location,2) as loc1 from table1

qry_table2:

select location as location2, left(location,2) as loc2 from table2

qry_join:

select location1, location2 
from qry_table1 inner join 
qry_table2 on 
qry_table1.loc1 = qry_table2.loc2
于 2012-09-12T13:59:32.923 に答える