在我的表中,我有以下列
--loannumber--disbid--username--docs--
--------------------------------------
---1234567 -- 430 -- jhon -- NCN --
-- same ---- 425 -- sam -- NPC --
-- same -- 455 -- clin -- Mis --
-- 4567891 -- 666 -- some1 -- NCN --
-- same -- 777 -- some2 -- NPC --
我还有一个自动递增的主键
我想要做的就是像这样过滤它并在datagridview中显示
++ loannumber ++ NCN ++ NPC ++ MIS ++
-- 1234567 ++ 430 ++ -- ++ -- ++
-- same ++ -- ++ 425 ++ -- ++
-- same ++ -- ++ -- ++ 455 ++
我尝试使用以下sql
SELECT loannumber,
CASE WHEN docs='NCN'THEN 1 ELSE 0 END 'NCN',
CASE WHEN docs='NPC'THEN 1 ELSE 0 END 'NPC',
CASE WHEN docs='Missing'THEN 1 ELSE 0 END 'Missing'
FROM claimloans
但这只计算了一些人的数量。我想展示他们而不是数数。贷款领域不是强制性的。我打算写一个sproc并将其称为winforms。有人请帮帮我吗?
++ NCN ++ NPC ++ MIS ++
++ 430 ++ -- ++ -- ++
++ -- ++ 425 ++ -- ++
++ -- ++ -- ++ 455 ++
(这也没问题!)
这工作得非常好。但是如何消除null
SELECT loannumber,
CASE WHEN docs='NCN'THEN disblid END 'NCN',
CASE WHEN docs='Missing'THEN disblid END 'Missing',
CASE WHEN docs='NF'THEN disblid END 'NF'
FROM claimloans
答案 0 :(得分:0)
我不确定我是否正确理解你,但试试这个:
SELECT loannumber,
SUM(CASE WHEN docs='NCN'THEN 1 ELSE 0 END) 'NCN',
SUM(CASE WHEN docs='Missing'THEN 1 ELSE 0 END) 'Missing',
SUM(CASE WHEN docs='NF'THEN 1 ELSE 0 END) 'NF'
FROM claimloans
GROUP BY loannumber