我有两个数据库,test1
和test2
。 test1
具有以下table1
。
ID | Word | Def
1. abandon NULL
2. test NULL
对于test2
数据库,我有以下table2
。
ID | Word | Def
1. abandon (verb) the meaning of abandon
2. word2 the meaning of word2
3. abandon (noun) the meaning of abandon
我想将数据库的定义从test2
,table2
复制到数据库test1
,table1
,其中table1中的单词与来自{的相同单词匹配{1}}并避免重复的字词;例如,单词table2
在abandon
中出现两次,在table2
中出现一次。如果可能,我想在第一个定义后附加单词table1
的第二个定义,并在abandon
,table1
列中对其进行更新。
我尝试了以下内容。
Def
但我收到一个我不太明白的错误。
答案 0 :(得分:2)
您只需要获得一个定义。这是一种适用于MySQL和Postgres的方法:
UPDATE test1.table1 t1
SET Def = (SELECT Def
FROM test2.table2 t2
WHERE t1.Word = t2.Word
ORDER BY id
LIMIT 1);
LIMIT 1
也可以是select top 1
或fetch first 1 row only
。