水平列出 mysql 行值而不旋转

List mysql row values horizontally without pivoting

在我的 table 中,我有以下列

--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 

但这只计算了 disbld 的数量。我想展示它们而不是计数。 Loannumber 字段不是强制性的。我打算编写一个存储过程并将其称为 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 

不确定我是否理解正确,但试试这个:

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