2012-04-27 8 views
-1

テーブルがあり、それにcustomeridとorderidを保存するとします。ミックスカウントと1つのクエリで存在

チェックが1クエリに特定の得意先の存在するすべてのためのテイク数のための最善のアプローチは何ですか?

私はこのクエリが間違っていることを知っていますが、私は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のcase式をチェックしますか? –

+0

ようこそ。私はあなたの質問の答えについてはわかりませんが、あなたがそれについて確かめることができるようにいくつかのサンプルデータで確認してください。 – sarwar026

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によって最初のグループ –

+0

の注文数を取得し、2番目のクエリではお客様のカウントを取得 –

+0

はい、私は知っています。あなたの質問からあなたが望むものを伝えるのは難しいです。 –

関連する問題