sql 两张表的联系是主表一个字段是由子表id加号拼接而成,请问怎么连

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 两张表的联系是主表一个字段是由子表id加号拼接而成,请问怎么连相关的知识,希望对你有一定的参考价值。

sql 两张表的联系是主表一个字段是由子表id加|号拼接而成,请问怎么连起来查?
6212|6278|5547 这样分割开的三个数是子表的三个id 我想查到这三行数据的时候也吧 主表的一些信息查出来放一起

数据哪有这么存的,谁会把数据存成这样?两表关联查询,势必每张表中各有一个column字段值是相等的;例如,表A.id = 表B.aid,这才可以建立关联关系。
你这个表数据简直无语了,看着就是各自不搭界的,你让数据库怎么去做关联查询……
非要做,得先用函数去处理主表的那个字段,按照长度去拆分出独立的id,再各自作为查询条件去做关联查询。但这种做法简直不正常,脑抽风才会这么去用数据库。非但不能保证处理的准确性,而且运行效率大大降低!
参考技术A 有两个表A和B,均有key和value两个字段,如果B的key在A中也有,就把B的value换为A中对应的value
update b set b.value=(select a.value from a where a.key=b.key) where b.id in(select b.id from b,a where b.key=a.key);
但是如果没有ID字段:
update b set b.value=(select a.value from a where a.key=b.key) where b.key in(select b.key from b,a where b.key=a.key);

根据子表的条件修改主表的数据

有这么一个需求:写一条sql语句,功能是当B表中的字段2值=X的时候,修改A表中的一个字段1=Y,SQL语句如下:

update A表 set A表.字段1 = Y from A表 inner join B表
on A表关联字段=B表关联字段 where B表.字段2=X

 

以上是关于sql 两张表的联系是主表一个字段是由子表id加号拼接而成,请问怎么连的主要内容,如果未能解决你的问题,请参考以下文章

SQL中有主外键的两表到底那这是主表

SQL关联两张表查数据,结果只显示一条。

Oracle数据库,关于关联两张表更新问题

外键约束

SQL数据库里面怎样设置表与表之间的关联

sql两张表(主表和字典表)关联查询,字典项翻译问题