2012-04-27 35 views
-1

假設我們有一個表並在其上保存customerid和orderid。混合計數並存在於一個查詢中

什麼是所有訂單和支票一個查詢某些客戶ID存在的取計數的最佳方法?

我知道這個查詢是錯誤的,但我強迫寫這是因爲Stackoverflow不允許我發佈簡短的問題!

例如:

(表名tbTest)

SELECT 
    COUNT(ORDERID), 
    EXIST(SELECT ID FROM tbTest WHERE customerid = {n}) 
FROM tbTest 

回答

1

請與follwoing

嘗試
SELECT COUNT(ORDERID), 
     CASE 
      WHEN EXISTS(SELECT ID FROM tbTest WHERE customerid = {n}) then 'Exist' 
      ELSE 'Not Exist' 
     END 
FROM tbTest 
+0

謝謝,這是正確的,但我有一個問題。是否檢查任何行的SQL Server案例表達式? – 2012-04-27 03:14:01

+0

歡迎。我不確定你的問題的答案,但請檢查一些樣本數據,以便你確定。 – sarwar026 2012-04-27 03:27:58

1

您的意思是

SELECT CustomerID, COUNT(OrderID) 
FROM dbo.tbTest 
GROUP BY CustomerID; 

或許

DECLARE @CustomerID INT; 

SET @CustomerID = 20; 

SELECT COUNT(*) 
FROM dbo.tbTest 
WHERE CustomerID = @CustomerID; 
+0

在customerid的第一個查詢第一組,然後得到客戶的訂單數 – 2012-04-27 03:08:08

+0

,並在您的第二個查詢獲得客戶的數量 – 2012-04-27 03:09:29

+0

是的,我知道。很難從你的問題中知道你想要什麼。 – 2012-04-27 03:13:34