mysql检查另一个表中是否存在字段值

mysql检查另一个表中是否存在字段值,mysql,union,Mysql,Union,餐桌用品 ProductID | ProductCode | SampleRefNum 1 a1 2 b2 3 c2 表库存清单 StockListID | ProductCode | SampleRefNum | QTY 1 a1 10 2

餐桌用品

ProductID   | ProductCode  | SampleRefNum
1              a1
2                             b2
3                             c2
表库存清单

  StockListID   | ProductCode  | SampleRefNum  | QTY
    1              a1                            10
    2                             b2             10
    3                             j100           25
我要买两张桌子。产品表是站点上的当前产品。 库存列表表是从POS系统上传的列表,包含产品及其数量。 产品具有ProductCode或SampleRefNum

我正在尝试生成一个列表,列出产品表中所有在库存列表表中没有匹配ProductCode或SampleRefNum的项目。在以下示例中,查询应返回ProductID 3


我尝试通过查询来实现这一点,而不是在PHP中循环和检查结果。

尝试连接这两个表,并从库存列表中获取ProductCode或SampleRefNum为null的产品

select t1.* from PRODUCTS as t1 
left join STOCK_LIST as t2 on t1.ProductID = t2.StockListID
where (t2.ProductCode IS NULL or t2.SampleRefNum is NULL)

尝试连接这两个表,并从库存列表中获取ProductCode或SampleRefNum为空的产品

select t1.* from PRODUCTS as t1 
left join STOCK_LIST as t2 on t1.ProductID = t2.StockListID
where (t2.ProductCode IS NULL or t2.SampleRefNum is NULL)

您可以使用左连接来更正结果

SELECT p.* FROM products AS p
LEFT JOIN stockList AS s
ON p.productID = s.stockListId
OR p.sampleRefNum = s.sampleRefNum;

您可以使用左连接来更正结果

SELECT p.* FROM products AS p
LEFT JOIN stockList AS s
ON p.productID = s.stockListId
OR p.sampleRefNum = s.sampleRefNum;
我猜productId和Stocklist Id彼此不相关,它们只是两个不同表的主键

所以试试上面的查询

如果我的猜测是错误的,请详细评论相同的内容

select table1.id table2.id from table1,table2 where tpl1.id=tpl2.id
我猜productId和Stocklist Id彼此不相关,它们只是两个不同表的主键

所以试试上面的查询

如果我的猜测是错误的,请详细评论相同的内容

select table1.id table2.id from table1,table2 where tpl1.id=tpl2.id
然后检查返回数据的num_行,如果total为0,则表示没有任何内容


之后,检查返回数据的行数,如果总数为0,则表示没有任何问题

这是正确答案。“Ye Win and”是对的웃웃웃웃웃

SELECT * FROM products AS p
LEFT JOIN stock_list AS s
ON p.ProductCode = s.ProductCode OR p.SampleRefNum = s.SampleRefNum
WHERE (s.ProductCode IS NULL AND p.ProductCode IS NOT NULL OR s.SampleRefNum IS NULL AND p.SampleRefNum IS NOT NULL)

这是正确的答案。“Ye Win and”是对的웃웃웃웃웃

SELECT * FROM products AS p
LEFT JOIN stock_list AS s
ON p.ProductCode = s.ProductCode OR p.SampleRefNum = s.SampleRefNum
WHERE (s.ProductCode IS NULL AND p.ProductCode IS NOT NULL OR s.SampleRefNum IS NULL AND p.SampleRefNum IS NOT NULL)

我正试图通过一个查询来实现这一点
。。我在这里看不到任何查询。@Zaid Kajee。我的左连接示例正是为了解决您的需求和问题。它不起作用?@YeWin检查对您答案的评论
我正试图通过查询来完成这项工作。。我在这里看不到任何查询。@Zaid Kajee。我的左连接示例正是为了解决您的需求和问题。它不起作用?@YeWin检查对你的回答的评论缺少附加where缺少附加where