仅SQL将查询行的行设为扩展列
好的,我有这张桌子仅SQL将查询行的行设为扩展列,sql,Sql,好的,我有这张桌子 CID CAmountDescription CAmount A-19 Payment 500.00 A-19 Loan 50.00 A-20 Payment 100.00 A-20 Loan 20.00 select CID, sum(if(CAmountDescription='Paym
CID CAmountDescription CAmount
A-19 Payment 500.00
A-19 Loan 50.00
A-20 Payment 100.00
A-20 Loan 20.00
select
CID,
sum(if(CAmountDescription='Payment',CAmount,0)) as Payment,
sum(if(CAmountDescription='Loan',CAmount,0)) as Loan
from the_table
group by CID
我希望以这样的方式查询数据库,返回的行如下所示
CID Payment Loan
A-19 500.00 50.00
A-20 100.00 20.00
select
CID,
sum(if(CAmountDescription='Payment',CAmount,0)) as Payment,
sum(if(CAmountDescription='Loan',CAmount,0)) as Loan
from the_table
group by CID
我尝试使用某种类型的JOIN子句,因为这是我知道的唯一添加列的方法,但它返回的行比所需的多。如果有人能在这件事上帮助我,我将不胜感激。多谢各位 嗨@sh_kamalh非常感谢你的回答。只要稍作修改,您的SQL语句就可以工作。我很感激,所以我会投票支持你的答案,但我会选择StanislavL的答案,因为它更有效,至少在我看来,因为它不涉及子查询。谢谢。你好,斯坦尼斯拉夫谢谢你。它就像一个符咒。我将此作为答案,因为它不涉及子查询,因此速度更快:)
select
CID,
sum(if(CAmountDescription='Payment',CAmount,0)) as Payment,
sum(if(CAmountDescription='Loan',CAmount,0)) as Loan
from the_table
group by CID