У меня есть следующий запрос SQL в подотчете:Получить 0 для столбца выбрать, где положение не соответствует
select ifnull(sum (commissionDocument.netto), 0) as commissionCreditNoteNetValue,
(select ifnull (sum (commissionDocument.netto), 0)
from tckopf as commissionDocument
where commissionDocument.referenzid = $P{document_id}
and commissionDocument.btyp = 7) as commissionInvoiceNetValue
from tckopf as commissionDocument
where commissionDocument.referenzid = $P{document_id}
and commissionDocument.btyp = 8
Проблема заключается в том, что я получаю пустой отчет, если where
пункта:
where commissionDocument.referenzid = $P{document_id}
and commissionDocument.btyp = 8
не соответствует, а другой соответствует where
.
where commissionDocument.referenzid = $P{document_id}
and commissionDocument.btyp = 7
Я забыл упомянуть, что FoxPro DBF содержит данные и соединен через драйвер JDBC для iReport.
подотчет имеет только одно поле со следующим выражением .:
($F{commissionInvoiceNetValue} != null && $F{commissionCreditNoteNetValue} != null)
? ($F{commissionInvoiceNetValue} - $F{commissionCreditNoteNetValue})
: ($F{commissionInvoiceNetValue} != null) ? $F{commissionInvoiceNetValue}
: ($F{commissionCreditNoteNetValue} != null) ? $F{commissionCreditNoteNetValue}
: ""
Как я могу обойти это?
Можете ли вы дать нам http://www.sqlfiddle.com/? – PeterRing
... Является ли 'commisionDocument.referenzid' уникальным? Можем ли мы получить исходные данные и желаемые результаты? –
Нет 'commisionDocument.referenzid' не является уникальным. Многие записи могут иметь один и тот же «референт». –