水平列出 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
在我的 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