我试图在表格中显示订单包含多篇文章的条目:但它不像我尝试的那样工作。有人可以告诉我哪里错了吗?!
以下是我的尝试:
SELECT *
FROM TableX
WHERE (SELECT COUNT(Ordernumber) FROM TableX AS a WHERE a>1);
答案 0 :(得分:0)
一个选项是使用子查询来标识包含多个文章的订单号,然后将此子查询加入到原始表中以获取这些匹配订单的完整记录。
SELECT t1.*
FROM TableX t1
INNER JOIN
(
SELECT Ordernumber
FROM TableX
GROUP BY Ordernumber
HAVING COUNT(*) > 1
) t2
ON t1.Ordernumber = t2.Ordernumber
此查询假定给定订单中的所有文章都是唯一的。如果可能发生重复文章,并且您不会计算重复项,则可以使用以下HAVING
子句:
HAVING COUNT(DISTINCT article) > 1
另一种选择:
SELECT *
FROM TableX
WHERE Ordernumber IN
(
SELECT Ordernumber
FROM TableX
GROUP BY Ordernumber
HAVING COUNT(*) > 1
)