Ich habe Problem bei der Abfrage einer Spalte mit Differenzwert zur Anzeige in 2 Spalten Ergebnis in PosgrestSql. Der angezeigte Wert bedeutet "ausstehend", für die Anzeige "0" wurde bereits bezahlt. Und müssen alle ausstehenden Spalten anzeigen und die bereits bezahlte neue Spalte zählen. Ich habe viele Abfragen versucht, konnte aber nicht finden.So wählen Sie eine Spalte aus, um als 2 Spalten anzuzeigen Ergebnis mit Differenzwert in Postgresql
Meine erste Abfrage wie folgt: first query
Und dann brauche ich das Ergebnis wie folgt: I need the result
Und für meine neue Abfrage, die ich versuche, wie unten:
SELECT
m.customercd,
ta.agreementcd,
(SELECT
(tcd.balanceprincipal + tcd.balanceinterest + tcd.balanceapprovalfeeprincipal)
FROM t_agreement ta
INNER JOIN t_creditdetail tcd
ON ta.agreementcd = tcd.agreementcd
WHERE (tcd.balanceprincipal + tcd.balanceinterest + tcd.balanceapprovalfeeprincipal) != 0)
AS Installment,
(SELECT
(tcd.balanceprincipal + tcd.balanceinterest + tcd.balanceapprovalfeeprincipal)
FROM t_agreement ta
INNER JOIN t_creditdetail tcd
ON ta.agreementcd = tcd.agreementcd
WHERE (tcd.balanceprincipal + tcd.balanceinterest + tcd.balanceapprovalfeeprincipal) = 0)
AS Installment_PAID,
m.corpname,
m.employeenum
FROM t_agreement ta
INNER JOIN t_creditdetail tcd
ON ta.agreementcd = tcd.agreementcd
INNER JOIN m_customer m
ON ta.customercd = m.customercd
WHERE ta.agreementcd IN ('1502-0004759-9', '1506-0006177-9', '1506-0006327-8')
ORDER BY agreementcd
Aber Fehler:
ERROR: more than one row returned by a sub query used as an expression
Also gibt es irgendwelche Experten, die mir dabei helfen? Würde sehr mit Ihrer Hilfe zu schätzen wissen.
Vielen Dank, SmallCorner
Was ist mit dem Fehler ist Ihnen nicht klar? Normalerweise sind Sie der einzige, der das beheben kann, weil es die Logik der Abfrage zu kennen erfordert. –
@Tim, also wie wäre es mit meiner Anfrage? Gibt es einen möglichen Weg dies zu tun? – SmallCorner
IMO sollten Sie Ihre Abfrage neu schreiben. Verwenden Sie CTE, um Ratenzahlung, Ratenzahlung_PAID in 2 temp_table zu berechnen, und verbinden Sie sie dann, um das erwartete Ergebnis zu erhalten. –