Je crée une vue sélectionnée imbriquée à exécuter dans le rapport Jasper Netbeans de la base de données JAVA, et j'ai besoin de distinguer le groupé basé sur la même instruction ci-dessous par CASE
injecté dans le select ou en utilisant if
réalisable à l'intérieur JAVA DB ou de toute autre manière, enfin je veux utiliser record comme requête source pour exécuter jaspe signaler mon code comme suitJava DB et rapport jasper imbriqué sélectionnez
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
String host1= "jdbc:derby://localhost:1527//home/mohamed/java-
progs/SPaccounting/accountsdb/accountsdb;create=true";
String uName1="rootuser";
String uPass1="1234a1234b";
con1=DriverManager.getConnection(host1,uName1 ,uPass1);
String sql1="select sum(journal_amount) AS DR ,0 as CR, journal_crname AS
ACCNAME FROM JOURNAL
GROUP BY journal_CRNAME UNION select 0 AS DR,sum(journal_amount) AS CR,
journal_dbname AS ACCNAME FROM JOURNAL
GROUP BY journal_DRNAME order by ACCNAME
";
JasperFillManager.fillReport(jasperReport,param1,connect); //add param
if required
String jrxmlFileName = "/home/mohamed/java-progs/accounting syst em/
JavaAaccountingsys/src/report1.jrxml";
JasperDesign jasperDesign = JRXmlLoader.load(jrxmlFileName);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, con1);
JasperViewer.viewReport(jasperPrint);
} catch (JRException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
La sortie est:
ACCNAME DR CR
-------- ---- -----
CASH 1,200 0
AMRO BANK 0 500
CASH 0 600
AMRO BANK 700 0
Je veux distincte et somme ci-dessus et réduire la dette DR
de crédit CR
et obtenir le résultat que le rapport suivant:
ACCNAME DR CR
-------- ---- -----
CASH 600 0
AMRO BANK 200 0
S'il vous plaît aider à corriger l'instruction select
Je ne comprends pas comment CASH 1200-600 = 100? –
vous avez raison monsieur, je vais réviser Cash devrait être 600 –
@Petter Oui cela résolu depuis 12 janvier maintenant en dehors de mes compétences en histoire merci pour les efforts –