如何查找不存在外键的记录?

问题描述

我需要找到分配了无效外键的产品。

注意:

  • 公司产品众多
  • 公司品类繁多
  • 产品有一个类别(外键 = category_id)
SELECT *
FROM products
WHERE category_id NOT IN (SELECT id FROM categories);

对我没有帮助,因为需要进行公司级别的检查。即,

  • A 公司

    • 有类别 c1、c2
    • 有产品 P1 属于 c3(无效),产品 P2 属于 c1(有效)
  • B 公司

    • 有类别 c1、c2、c3

因此,在上述场景中,我需要找到产品 P1,该产品涉及 p1 的公司(A 公司)不提供的类别 c3。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)