我有一个存储买方和供应商之间交易的表,交易按“doctype”分类,表示信用票据或发票。我正在尝试创建一个视图,显示相同事务的类似于legder的视图。
SELECT
SUM(CASE doctype WHEN doctype = 1 THEN docvalue END) AS Invoice,
SUM(CASE doctype WHEN doctype = 2 THEN docvalue END) AS CreditNote,
SUM(CASE doctype WHEN doctype = 3 THEN docvalue END) AS JournalEntry,
SUM(CASE doctype WHEN doctype = 4 THEN docvalue END) AS Payment
FROM transactions
group by buyer
当我运行此查询时,我看到第一个CASE语句的结果,但其余的返回空值。有更好的方法吗?
我的目标是将其作为一个视图,但我甚至无法通过查询来显示我想要的内容。我也试过以下作为一个可怕的黑客,但它甚至没有工作
SELECT
(sum(docvalue)
FROM transactions where doctype =1) as invoices,
(sum(docvalue)
FROM transactions where doctype =2) as creditnotes,
(sum(docvalue)
FROM transactions where doctype =3) as journals,
(sum(docvalue)
FROM transactions where doctype =4) as payments
from transactions
我会撕掉我的头发,但我是秃头!