mySQL由客户编号链接的两个表中的唯一部分组成



我不知道这是否可能。我有两个表——quotation_items和order_items。两个表都有一个part_no字段。

quotation_items链接到一个具有字段cust_id的报价表。order_items链接到订单,该订单还有一个字段cust_id。

我想做的是构建一个UNIQUE零件号的查询(它将成为一个视图),即即使它们在基于cust_id的两个表中,也不进行复制。

我知道我可以用PHP构建一个数组,但通过这种方式,我可以使用数据表来显示结果。

我认为这是您想要的基本查询:

select distinct cust_id, part_no
from (select cust_id, part_no
      from quotation_items qi
      union all
      select cust_id, part_no
      from order_items
     ) t

不幸的是,您无法将其放入MySQL中的视图中,因为它在from子句中有一个子查询。为了将其放在视图中,您可能需要使用两个视图,一个用于内部查询,另一个用于外部查询。

编辑:

你可以把这个放在一个视图中,通过做:

select cust_id, part_no
from quotation_items qi
union
select cust_id, part_no
from order_items;

这将使用union来删除重复项。

最新更新