Ich versuche, alle Daten nach allen Daten pro Monat abzurufen.Jedes Datum anzeigen, auch wenn es keinen Wert hat
Ich habe diese Tabelle. Ich habe ein Problem, wenn ich es bei sqlfiddle erstelle.
CREATE TABLE Outlet
(
IdOutlet [int] NOT NULL,
OutletCode [varchar](100) NOT NULL,
Description [varchar](225) NULL
);
Outlet Eintragung (en)
1 | K-AEON | Desc1
2 | K-LFTEJM | Desc2
und diese Tabelle
CREATE TABLE [dbo].[SalesOrderHeader]
(
[TransactionNo] [varchar](32) NOT NULL,
[DocumentNo] [varchar](32) NOT NULL,
[TransDate] [datetime] NOT NULL,
[ETADate] [datetime] NOT NULL,
[ExternalDocument] [varchar](32) NOT NULL,
[Reference] [varchar](64) NOT NULL,
[RefTransNo] [varchar](32) NOT NULL,
[Category] [varchar](32) NOT NULL,
[CustomerCode] [varchar](16) NOT NULL,
[Remark] [varchar](64) NOT NULL,
[Remark2] [varchar](64) NOT NULL,
[TermOfPayment] [datetime] NOT NULL,
[Currency] [varchar](16) NOT NULL,
[Rate] [decimal](38, 20) NOT NULL,
[UseVAT] [int] NOT NULL,
[SubTotal] [decimal](38, 20) NOT NULL,
[DiscPercent] [decimal](38, 20) NOT NULL,
[DiscAmount] [decimal](38, 20) NOT NULL,
[GrandTotal] [decimal](38, 20) NOT NULL,
[TotalReceivable] [decimal](38, 20) NOT NULL,
[FromCustomerCode] [varchar](32) NOT NULL,
[PostingStatus] [int] NULL,
[PostingBy] [varchar](16) NULL,
[PostingDate] [datetime] NULL,
[CreatedDate] [datetime] NOT NULL,
[CreatedBy] [varchar](16) NOT NULL,
[ModifiedDate] [datetime] NOT NULL,
[ModifiedBy] [varchar](16) NOT NULL,
[CustomerReceivable] [varchar](16) NULL,
[LocationCode] [varchar](16) NOT NULL,
[VatPercent] [float] NOT NULL,
[VatAmount] [float] NULL,
[FinalReleasedDate_Outlet] [datetime] NULL,
[CancelStatus] [int] NULL,
[CancelReason] [varchar](100) NULL,
[CancelledBy] [varchar](50) NULL,
CONSTRAINT [PK__SalesOrd__554342D81FCDBCEB]
PRIMARY KEY CLUSTERED ([TransactionNo] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Wie Sie sehen Ich habe zwei Tabellen. Für jetzt habe ich diese Abfrage, um alle meine Daten zu holen.
select
CustomerCode, CONVERT(date, transdate) tanggal,
SUM(totalreceivable) total
from
SalesOrderHeader
where
TransDate between '$start_date' and '$end_date'
group by
CONVERT(date, transdate), CustomerCode
Hier ist ein Beispiel
führenK-AEON 2016-07-18 2841600.00000000000000000000
K-LFTEJM 2016-07-17 4862190.00000000000000000000
Aber ich möchte dieses Ergebnis
|1 | 2 | 3 | 4-16 | 17 | 18 | 19-29 |30|
K-AEON |..| | | ...... | 2841600 | | ..... |..|
K-LFTEJM |..| | | | | 4862190 | |..|
Wie kann ich das erreichen? Welche Methode kann ich verwenden?
Ich will sie setzen auf sqlfiddle
aber ich habe dieses Ergebnis Create script error
sorry für mein Englisch.
es ist fast wie, was ich will. Wie man den '[1] [2] [3]' zu allen Daten in einem Monat macht – YVS1102
@ YVS1102: Danke. Möglicherweise müssen Sie eine dynamische Abfrage schreiben, um die [1], [2] s für den angegebenen Monat zu erhalten. Oder Sie behalten Spalten von [1] bis [31] und verwalten sie an Ihrem Front-End. – Lucky
Wenn ich es 'static' schreibe, hat ein Monat [30] und [29] – YVS1102