mysql中A表中有多个字段,对应B表中的1个字段,怎么删除B表中的字段编号不在A表中

时间:2022-08-24 00:25:57
表的结构大致如下 

A

a1    a1   a3   a4   user_id
1      2      3      4     100


B

b1    user_id

1        100
2
3
4
5
6
 
我想问的是怎么让两张表关联起来,删除B表中不在A表中的数据,就是删除B表中的5,6

我用子查询结果不行,子查询返回过来只能是一个字段

后来找到了mysql中的拼接字符串函数  concat()拼成一个字段 也不行 


实在想不到什么方法了,请知道的帮助我一下

5 个解决方案

#1


帮你移到mysql专区了,sqlserver的我写出来你也不一定能用

#2


A表字段数是固定的么?

#3


问题1:round函数
问题2:avg只能计算列平均,你可以行转列

#4


引用 2 楼 roundman 的回复:
A表字段数是固定的么?
A字段是固定的

#5



delete from B where b1 not in (
select a1 from A
union 
select a2 from A
union
select a3 from A
union
select a4 from A)

#1


帮你移到mysql专区了,sqlserver的我写出来你也不一定能用

#2


A表字段数是固定的么?

#3


问题1:round函数
问题2:avg只能计算列平均,你可以行转列

#4


引用 2 楼 roundman 的回复:
A表字段数是固定的么?
A字段是固定的

#5



delete from B where b1 not in (
select a1 from A
union 
select a2 from A
union
select a3 from A
union
select a4 from A)