我已经搜索并尝试了所有应用我发现但没有运气的事情。
我有2个表我需要比较每个中的2个字段并在1中更新字段。
表1
ID Year Name
4015 2016 Acura
4016 2016 Alfa+Romeo
4017 2016 Aston+Martin
4018 2016 Audi
4019 2016 Bentley
4020 2016 BMW
4021 2016 Buick
4022 2016 Cadillac
4023 2016 Chevrolet
4024 2016 Chrysler
4025 2016 Daewoo
4026 2016 Daihatsu
4027 2016 Dodge
4028 2016 Eagle
4029 2016 Ferrari
4030 2016 Fiat
4031 2016 Fisker
4032 2016 Ford
4033 2016 Geo
4034 2016 GMC
4035 2016 Honda
4036 2016 HUMMER
4037 2016 Hyundai
4038 2016 INFINITI
4039 2016 Isuzu
4040 2016 Jaguar
4041 2016 Jeep
4042 2016 Kia
4043 2016 Lamborghini
4044 2016 Land+Rover
4045 2016 Lexus
4046 2016 Lincoln
4047 2016 Lotus
4048 2016 Maserati
4049 2016 Maybach
4050 2016 Mazda
4051 2016 McLaren
4052 2016 Mercedes-Benz
4053 2016 Mercury
4054 2016 MINI
4055 2016 Mitsubishi
4056 2016 Nissan
4057 2016 Oldsmobile
4058 2016 Panoz
4059 2016 Plymouth
4060 2016 Pontiac
4061 2016 Porsche
4062 2016 Ram
4063 2016 Rolls-Royce
4064 2016 Saab
4065 2016 Saturn
4066 2016 Scion
4067 2016 smart
4068 2016 SRT
4069 2016 Subaru
4070 2016 Suzuki
4071 2016 Tesla
4072 2016 Toyota
4073 2016 Volkswagen
4074 2016 Volvo
我需要更新"类别"表2中的字段与表1中的ID# Table1.Year和Table1.Name与Table2.Year和Table2.Make。
匹配的记录示例:表2"类别"对于ID#49224,应该是表1中的ID#4030。
表2
ID Category Year Make
49206 0 2016 Acura
49207 0 2016 Audi
49208 0 2016 Audi
49209 0 2016 Audi
49210 0 2016 Audi
49211 0 2016 Ford
49212 0 2016 Honda
49213 0 2016 Jaguar
49214 0 2016 Jaguar
49215 0 2016 Jaguar
49216 0 2016 Kia
49217 0 2016 Kia
49218 0 2016 Kia
49219 0 2016 Kia
49220 0 2016 Mazda
49221 0 2016 Mazda
49222 0 2016 Mazda
49223 0 2016 Mercedes-Benz
49224 0 2016 Fiat
非常感谢任何帮助。谢谢
答案 0 :(得分:1)
此查询将匹配每个类别,它将更新表。如果发生集合(Make
,Year
)不存在category
将为NULL
UPDATE Table2 t2
SET category = (SELECT id FROM Table1 t1
WHERE t2.Make = t1.Name
AND t2.Year = t1.Year)
答案 1 :(得分:0)
create table3 as
select
a.year,
a.make,
a.id,
b.id as category
from table2 a
inner join
table1 b
on
a.year=b.year
and
a.make=b.make
应该这样做吗?