假设我们有一个表并在其上保存 customerid 和 orderid。
在一个查询中计算所有订单并检查是否存在某个客户 ID的最佳方法是什么?
我知道这个查询是错误的,但我强制写了,因为 Stackoverflow 不允许我发布简短的问题!
例如 :
(表名 tbTest)
SELECT
COUNT(ORDERID),
EXIST(SELECT ID FROM tbTest WHERE customerid = {n})
FROM tbTest
假设我们有一个表并在其上保存 customerid 和 orderid。
在一个查询中计算所有订单并检查是否存在某个客户 ID的最佳方法是什么?
我知道这个查询是错误的,但我强制写了,因为 Stackoverflow 不允许我发布简短的问题!
例如 :
(表名 tbTest)
SELECT
COUNT(ORDERID),
EXIST(SELECT ID FROM tbTest WHERE customerid = {n})
FROM tbTest
你的意思
SELECT CustomerID, COUNT(OrderID)
FROM dbo.tbTest
GROUP BY CustomerID;
或者可能
DECLARE @CustomerID INT;
SET @CustomerID = 20;
SELECT COUNT(*)
FROM dbo.tbTest
WHERE CustomerID = @CustomerID;
请尝试以下操作
SELECT COUNT(ORDERID),
CASE
WHEN EXISTS(SELECT ID FROM tbTest WHERE customerid = {n}) then 'Exist'
ELSE 'Not Exist'
END
FROM tbTest