首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从2个表映射列

从2个表映射列
EN

Stack Overflow用户
提问于 2014-02-25 23:52:44
回答 4查看 773关注 0票数 1

好的,作为一个SQL新手,我想从数据库A中的一个表中的一个列映射到数据库B中的一个表的另一个列,然后将这两个映射连接到数据库B中的第三个表中。

示例:数据库A表A有一个列,其中包含车辆类型:

  • 2轮摩托车
  • 三轮摩托车
  • 三轮车
  • 四轮车
  • 6轮车
  • 8轮卡车
  • 12轮卡车
  • 16轮卡车
  • 18轮卡车

数据库B、表B确实有类似的类型列,但它们更一般:

  • 数据库A中的“2轮摩托车”,表A映射到数据库B,表B“摩托车”
  • 数据库A中的“3轮摩托车”,表A映射到数据库B,表B“摩托车”
  • ‘三轮车’‘=>’车‘
  • '4轮车‘’=>‘汽车’

...and等。

在数据库B的表C中,我希望这两个列都是可见的,因此可以通过查看一行来查看到什么映射,例如:

代码语言:javascript
代码运行次数:0
运行
复制
PK | detailed_types | general_types | column x  | column y | column z
3      3 wheel car     car
4      4 wheel car     car

但我该怎么做?我可以从A和B中选择结果集,但它们之间的映射是我遇到问题的地方。

EN

回答 4

Stack Overflow用户

发布于 2014-02-26 00:05:17

我认为这可能会有帮助,一个模糊的连接方法。还有其他的方法

代码语言:javascript
代码运行次数:0
运行
复制
select * from detail a
    inner join general b on 
    a.descr like '%' + b.descr + '%'

细节和一般只是我做的模仿你的桌子。这是我的输出

代码语言:javascript
代码运行次数:0
运行
复制
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
票数 0
EN

Stack Overflow用户

发布于 2014-02-26 00:11:46

代码语言:javascript
代码运行次数:0
运行
复制
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关系中。但是您没有指定这一点,所以我的答案是基于稀疏的参数集:)

票数 0
EN

Stack Overflow用户

发布于 2014-02-26 00:13:24

也许是这样的:

代码语言:javascript
代码运行次数:0
运行
复制
SELECT A.detailed_types, B.general_types
FROM A, B
WHERE A.detailed_types LIKE '%' + B.general_types

或者这个:

代码语言:javascript
代码运行次数:0
运行
复制
SELECT A.general_types, B.detailed_types
FROM A
JOIN B ON A.general_types LIKE '%' + B.detailed_types
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22028824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档