好的,作为一个SQL新手,我想从数据库A中的一个表中的一个列映射到数据库B中的一个表的另一个列,然后将这两个映射连接到数据库B中的第三个表中。
示例:数据库A表A有一个列,其中包含车辆类型:
数据库B、表B确实有类似的类型列,但它们更一般:
...and等。
在数据库B的表C中,我希望这两个列都是可见的,因此可以通过查看一行来查看到什么映射,例如:
PK | detailed_types | general_types | column x | column y | column z
3 3 wheel car car
4 4 wheel car car
但我该怎么做?我可以从A和B中选择结果集,但它们之间的映射是我遇到问题的地方。
发布于 2014-02-26 00:05:17
我认为这可能会有帮助,一个模糊的连接方法。还有其他的方法
select * from detail a
inner join general b on
a.descr like '%' + b.descr + '%'
细节和一般只是我做的模仿你的桌子。这是我的输出
detail general
2 wheel motorcycle, motorcycle
3 wheel motorcycle, motorcycle
3 wheel car, car
4 wheel car, car
6 wheel car, car
8 wheel truck, truck
12 wheel truck, truck
16 wheel truck, truck
18 wheel truck, truck
发布于 2014-02-26 00:11:46
INSERT C (detailed_types, general_types)
SELECT detailed_types, general_types FROM A..A
INNER JOIN B ON A.detailed_types like '%'+B.general_types
最好将主键强加到您的表上,设置外键,并加入到FK关系中。但是您没有指定这一点,所以我的答案是基于稀疏的参数集:)
发布于 2014-02-26 00:13:24
也许是这样的:
SELECT A.detailed_types, B.general_types
FROM A, B
WHERE A.detailed_types LIKE '%' + B.general_types
或者这个:
SELECT A.general_types, B.detailed_types
FROM A
JOIN B ON A.general_types LIKE '%' + B.detailed_types
https://stackoverflow.com/questions/22028824
复制相似问题