が役立つだろう。私は、これはあなたがやりたいかもしれないと思う。(メモリから)
select a.folderid,a.foldername,count(b.ShortlistedUserId) as [count]
,case when count(case when b.ShortlistedUserId=49 then 1 else null end)>0 then 'Yes' else 'No' end as [NewColumn]
from tblshortlistfolders a left outer join tblshortlistedusers b on a.folderid=b.folderid
where a.userid = 50
group by a.folderid,a.foldername
EDIT: たぶん私はあなたのデータを誤解しています。ここではいくつかのサンプルデータとの完全な例です。
use tinker -- or whatever test db you have.
CREATE TABLE tblshortlistfolders (
folderid INT NOT NULL primary key
,foldername NVARCHAR(255)
,userid INT NOT NULL
);
CREATE TABLE tblshortlistedusers (
folderid INT NOT NULL
,shortlisteduserid INT NOT null
,constraint fk_tblshortlistedusers_folderid foreign key (folderid) references [dbo].[tblshortlistfolders]
);
INSERT INTO tblshortlistfolders VALUES (100 , 'one' , 1); -- created by user 1
INSERT INTO tblshortlistfolders VALUES (200 , 'two' , 50); -- created by user 50
INSERT INTO tblshortlistfolders VALUES (300 , 'three' , 50); -- created by user 50
INSERT INTO tblshortlistfolders VALUES (400 , 'four' , 49); -- created by user 49
INSERT INTO tblshortlistedusers VALUES (100, 1); -- shortlisted by 50
INSERT INTO tblshortlistedusers VALUES (100, 50); -- shortlisted by 01 too
INSERT INTO tblshortlistedusers VALUES (200, 50); -- shortlisted by 50
INSERT INTO tblshortlistedusers VALUES (200, 49); -- shortlisted by 49 too
INSERT INTO tblshortlistedusers VALUES (300, 50); -- shortlisted by 50
INSERT INTO tblshortlistedusers VALUES (300, 50); -- shortlisted by 1 too
SELECT a.folderid,a.foldername,COUNT(b.ShortlistedUserId) AS [COUNT]
,CASE WHEN COUNT(CASE WHEN b.ShortlistedUserId=49 THEN 1 ELSE NULL END)>0 THEN 'Yes' ELSE 'No' END AS [NewColumn]
FROM tblshortlistfolders a LEFT OUTER JOIN tblshortlistedusers b ON a.folderid=b.folderid
WHERE a.userid = 50
GROUP BY a.folderid,a.foldername
これは私があなたの質問を形成わかるものを行います。多分あなたはあなたが望むものの例を挙げることができますか?
でも、私はこのようにしていますが、問題はそのフォルダ内のユーザーの数が常に0であることです。ユーザー49は含まれていません。合計ユーザーがそれに含まれている... :( – nav
私が与えたサンプルを確認し、私たちは、これはあなたが期待しているものとどのように異なるかを教えてください? –