Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅SQL将查询行的行设为扩展列_Sql - Fatal编程技术网

仅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