Mysql 从多个联接表中选择重复项
我有一个客户产品表,其中标识符是“库存代码” 然后我有三张桌子:Mysql 从多个联接表中选择重复项,mysql,having,Mysql,Having,我有一个客户产品表,其中标识符是“库存代码” 然后我有三张桌子: 物料清单组件 路由 材料加工 这些表中的每一个都通过其stock_代码连接到customer_产品,并包含各种其他字段 我试图选择customer_产品,其中其他三个表中的记录完全相同,并且只返回重复项的stock_代码 如果你能帮我解决这个问题,那就太好了,谢谢 编辑:为了澄清,当我说“其他表格中的记录相同”时,我的意思是: (以路由为例) 股票代码部门序列 1234goodsin 1 1234prep 2 1234包装3
- 物料清单组件
- 路由
- 材料加工
我试图选择customer_产品,其中其他三个表中的记录完全相同,并且只返回重复项的stock_代码 如果你能帮我解决这个问题,那就太好了,谢谢
编辑:为了澄清,当我说“其他表格中的记录相同”时,我的意思是: (以路由为例) 股票代码部门序列
1234goodsin 1
1234prep 2
1234包装3
3344goodsin 1
3344prep 2
3344包装3
5661goodsin1
5661包装2 这里将返回股票代码1234和3344,因为它们在路由中的记录完全匹配
我使用的是mySQL。根据您使用的RDBMS,您可以使用INTERSECT语句,它基本上类似于UNION,但只返回在所有单独的SQL语句中有匹配项的行
SELECT stock_code, price FROM bom_component
INTERSECT
SELECT stock_code, price FROM routing
INTERSECT
SELECT stock_code, price FROM material_process
这将返回存在重复项的行。我假设price是一列,但只需添加您想要创建唯一标准的列。“其他三个表中的记录完全相同”这意味着什么?三个表都有相同的结构?如果四个表都有相同的结构,为什么会有四个表?