Frage : Sql-Frage auf einer Finanzberichtstabelle

Den angebrachten SQL-Code bitte finden, den wir verwendet haben.

As, das Sie sehen können, sein eine Ansicht wir verwenden. Die Frage zieht die ersten fünf Spalten gerade von einer Tabelle, aber die 6. Spalte ist eine auserwählte Aussage, zum eines Bündels ReportRows.

The 6. der Spalte zu gruppieren versucht, die Report-Reihen 1.2.3.4.5.6.7 zu gruppieren, die ein SubtotalGroup haben, wie UNGÜLTIG und wenn sie Reihe 8 erreicht, es weiß, dass SubTotalGroup Wert 1 und NLFinancialReportLineTypeID = 1. ist, also die Frage Nr. 8 für das ganzes oben genannte rows.

But die Ausgabe zurückbringt, die wir sind haben,
If eine Reihe nicht satisy der Zustand der Teilsumme =1 tut und NLFinancialReportLineTypeID = 1
then sollte sie „NULL“ in dieser Reihe drucken und auf das folgende row.
So die 9. Reihe verschieben im 6. coulmn sein sollte Drucken „NULL“ und dann tun die Reihen 10, 11.12 und 13 fein.

Could unterstützen Sie mich bitte diese Frage ändernd, bitten mich bitte um weitere Einzelheiten, wenn needed.

SELECT NLFinancialReportLayoutID, NLFinancialReportLineTypeID, Titel, ReportRow, SubtotalGroup,
(AUSERWÄHLTE MINUTE (ReportRow) ALS Expr1
VON dbo.NLFinancialReportRow ALS S2
WHERE (SubtotalGroup = 1) UND
(ReportRow >= dbo.NLFinancialReportRow.ReportRow)) ALS G1
vom dbo.NLFinancialReportRow

Antwort : Sql-Frage auf einer Finanzberichtstabelle

Gut denken, dass Sie ein bisschen subconsiously möglicherweise, anderes kluges wussten, warum Sie das unterschiedliche layoutID einschlossen? Es war ziemlich genau der einzige Unterschied zwischen Ihren Daten und Grube:)

So durchgebraten sich:) Und ebenfalls, genossen der Herausforderung, der Frage und Arbeiten mit Ihnen.

Ist hier die abgeschlossene Frage:

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
rr.NLFinancialReportLayoutID    , rr.NLFinancialReportLineTypeID, Eisenbahn VORWÄHLEN. Titel, rr.ReportRow, rr.SubtotalGroup,
          Fall, wenn rr.reportrow zwischen g1.min_row und g1.reportrow dann g1.reportrow Ende als g1,
          Fall, wenn rr.reportrow zwischen g2.min_row und g2.reportrow dann g2.reportrow Ende als g2,
          Fall, wenn rr.reportrow zwischen g3.min_row und g3.reportrow dann g3.reportrow Ende als g3,
          Fall, wenn rr.reportrow zwischen g4.min_row und g4.reportrow dann g4.reportrow Ende als g4,
          Fall, wenn rr.reportrow zwischen g5.min_row und g5.reportrow dann g5.reportrow Ende als g5,
          Fall, wenn rr.reportrow zwischen g6.min_row und g6.reportrow dann g6.reportrow Ende als g6,
          Fall, wenn rr.reportrow zwischen g7.min_row und g7.reportrow dann g7.reportrow Ende als G7,
          Fall, wenn rr.reportrow zwischen g8.min_row und g8.reportrow dann g8.reportrow Ende als g8,
          Fall wenn rr.reportrow zwischen g9.min_row und g9.reportrow dann g9.reportrow Ende als g9
VON      NLFinancialReportRow  Eisenbahn
linke äußere verbinden (AUSERWÄHLTES  NLFinancialReportLayoutID, ReportRow, isnull ((auserwähltes Oberseite 1 reportrow VON NLFinancialReportRow s2 WO S2.NLFinancialReportLayoutID = s1.NLFinancialReportLayoutID und isnull (s2.SubtotalGroup, 0) >= 1 und s2.reportrow < s1="">= 2 und s2.reportrow < s1="">= 3 und s2.reportrow < s1="">= 4 und s2.reportrow < s1="">= 5 und s2.reportrow < s1="">= 6 und s2.reportrow < s1="">= 7 und s2.reportrow < s1="">= 8 und s2.reportrow < s1="">= 9 und s2.reportrow < s1=""> 0
GEHEN
Weitere Lösungen  
 
programming4us programming4us