我正在开发一个包含产品和批号的数据库。 Lots表中的每个条目都有一个批号和一个产品描述。
有时会有多个相同批号的记录,例如当重新打包一个项目时会创建一个新记录,但是具有相同的批号和相同的产品描述 - 这很好。但有时候会出现问题,即当两个不同的产品共享相同的批号时。我想找到那些。
换句话说,有三种可能性:
答案 0 :(得分:3)
这并不容易,因为很多时候都不使用访问权。
distinct
选择唯一值。group by
where total >1
SELECT id, Product.lotnumber, Product.Product, total
FROM
Product Inner join
(
SELECT lotnumber, count(*) as total
FROM
(SELECT distinct lotnumber, product
FROM Product)
GROUP BY lotnumber
) SubT On Product.lotnumber = SubT.lotnumber
WHERE total > 1
ORDER BY id
如你所见:
我包含了我的产品表: