需要T-SQL查询的帮助吗
我有下表需要T-SQL查询的帮助吗,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有下表 orderID | itemID --------------------- 100 3425 100 3432 102 4443 102 8754 102 3425 103 6511 103 1176 103 3584 107 4967 109 0067 现在我想查询以下内容 返回每个orderID的it
orderID | itemID
---------------------
100 3425
100 3432
102 4443
102 8754
102 3425
103 6511
103 1176
103 3584
107 4967
109 0067
现在我想查询以下内容
orderID
的itemID
s数,但仅针对每个orderID
s中有3个或更多订单的orderID
s数itemid3425
的orderID
s,并列出这些orderID
s的所有itemID
sSELECT orderid,COUNT(itemid) AS item_count
FROM orderitems
WHERE (select COUNT(orderid) from orderitems) >2
GROUP BY orderid.
但是它没有给出期望的结果……我是T-SQL新手,请帮助……
1和2的组合查询
SELECT OrderID
FROM tableName
GROUP BY OrderID
HAVING COUNT(*) >= 3 AND
SUM(CASE WHEN ItemID = 3425 THEN 1 ELSE 0 END) >= 1
SELECT OrderID
FROM tableName
GROUP BY OrderID
HAVING COUNT(*) >= 3
SELECT a.*
FROM tableName a
INNER JOIN
(
SELECT OrderID
FROM tableName
GROUP BY OrderID
HAVING SUM(CASE WHEN ItemID = 3425 THEN 1 ELSE 0 END) >= 1
) b ON a.OrderID = b.OrderID