我有这样的查询。
执行后我得到了以下结果。
我想要做的是每张发票否我想把'金额'显示为CashAmt和ChequeAmt 在一排。目前有2条现金和支票记录。
答案 0 :(得分:3)
您正在尝试pivot
您的搜索结果。您可以使用group by
,max
和case
:
select mdr.invoiceno, mdr.invoicedate, mdr.customerid, mdr.netamount, cus.name,
max(case when pt.Name = 'Cash' then pay.amount end) CashAmt,
max(case when pt.Name = 'Cheque' then pay.amount end) ChequeAmt
from customer cus
....
group by mdr.invoiceno, mdr.invoicedate, mdr.customerid, mdr.netamount, cus.name
order by mdr.invoiceno