Zeilen In Spalten und die Gruppierung

Ich habe eine Abfrage, die wie folgt aussieht:

SELECT OrganizationName, OrganizationID, ReceivableStatus, InvoiceFee
FROM v_InvoicesFreelanceOutstanding
ORDER BY OrganizationID

Die Daten aus, die könnte wie folgt Aussehen:

OrganizationName OrganizationID ReceivableStatus InvoiceFee 
----------------------------------------------------------------------------- 
Firma A 139 60-90 Tage 672.00 
Firma A 139 60-90 Tage 1800.00 
Firma A 139 über 90 Tage 1440.00 
Firma B 264 Aktuelle 3559.38 
Firma B 264 60-90 Tage 3785.50 
Firma C 271 60-90 Tage 446.25 
Firma C 271, die über 90 Tage 637.50 
Firma C 271, die über 90 Tage 1126.25 

Was ich will, um schließlich die Anzeige ist so etwas wie dieses (für die Daten oben):

Unternehmen Aktuelle 30-60 Tage 60-90 Tage über 90 Tage Gesamt 
----------------------------------------------------------------------------- 
Unternehmen 0 0 2472.00 0 2472.00 
Firma B 3559.38 0 3785.50 0 7344.88 
Firma C 0 0 446.25 1763.75 2210.00 

Meine SQL-fu ist nicht genug, um mich vorbei:

SELECT
    MAX(OrganizationName) as OrganizationName,
    OrganizationID,
    ReceivableStatus,
    SUM(InvoiceFee) as TotalDue
FROM v_InvoicesFreelanceOutstanding
GROUP BY OrganizationID, ReceivableStatus

Das zeigt, so etwas wie dieses (erneut aus den Daten oben):

OrganizationName OrganizationID ReceivableStatus TotalDue 
----------------------------------------------------------------------------- 
Firma A 139 60-90 Tage 2472.00 
Firma A 139 über 90 Tage 1440.00 
Firma B 264 Aktuelle 3559.38 
Firma B 264 60-90 Tage 3785.50 
Firma C 271 60-90 Tage 446.25 
Firma C 271, die über 90 Tage 1763.75 

Was dann? Jede Hilfe würde geschätzt werden.

Beachten Sie, dass der Status angezeigt, in der 2. Tabelle (Current, 30-60 days, 60-90 days, over 90 days) sind die einzigen, die ich erwarte zu kommen unter ReceivableStatus.

BEARBEITEN: Sorry für die nicht darunter. Ich bin mir bewusst PIVOT aber ich konnte es nicht zu tun, was ich will.

InformationsquelleAutor Paolo Bergantino | 2009-03-20

Schreibe einen Kommentar