 |
|
ช่วยดู Query ข้อมูลหน่อยค่า งมมาเป็นอาทิตย์แล้วยังไม่ได้เลย |
|
 |
|
|
 |
 |
|
Query บนนี้คุ้นๆ นะครับ ผมแนะนำให้คับ ลองไปศึกษา PIVOT TABLE ดูครับ
|
 |
 |
 |
 |
Date :
2018-01-22 13:48:09 |
By :
OOP |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตาราง report ในรูป เป็นผลลัพท์ที่ทำได้ หรือเป็นผลลัพท์ที่ต้องการหรอครับ
|
 |
 |
 |
 |
Date :
2018-01-22 15:34:54 |
By :
nPointXer |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
DECLARE @minDate DATETIME = ( SELECT MIN( reciept_date ) FROM dbo.tb2);
DECLARE @newLine CHAR(2) = CHAR(13)+CHAR(10);
DECLARE @sqlSelect NVARCHAR(max) =
'SELECT
CASE WHEN( ROW_NUMBER() OVER ( PARTITION BY p_no ORDER BY p_no )) = 1 THEN p_no ELSE '''' end p_no
, p_price
, convert( varchar , t2.reciept_time , 8 ) reciept_time ' ;
DECLARE @sqlWhere NVARCHAR(max) = 'FROM dbo.tb1
CROSS APPLY(
SELECT id, reciept_time FROM dbo.tb2 WHERE p_no_id = dbo.tb1.id
) t2'
DECLARE @cnt INT = 0;
DECLARE @strCnt VARCHAR(10) = '';
DECLARE @strMinDate VARCHAR(20) = '';
WHILE @cnt < 7
BEGIN
SET @strCnt = CAST(@cnt AS VARCHAR(10));
SET @strMinDate = convert(varchar, DATEADD(DAY , @cnt , @minDate), 1)
set @sqlSelect += @newLine +' , isnull( day'+ @strCnt+ '.amont ,0) [' + @strMinDate+ '] ' ;
SET @sqlWhere += @newLine
+ 'outer APPLY (
SELECT amont FROM dbo.tb2 WHERE id = t2.id AND reciept_time = t2.reciept_time
AND reciept_date = ''' + @strMinDate + '''
) day' + @strCnt;
SET @cnt += 1;
END;
DECLARE @sqlAll NVARCHAR(MAX) = @sqlSelect + @newLine + @sqlWhere;
--PRINT @sqlAll;
EXECUTE sp_executesql @sqlAll;
|
 |
 |
 |
 |
Date :
2018-01-29 15:54:02 |
By :
SandKing |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันคือการทำ dynamic sql ครับ หลักการคือเอา string sql มาต่อกัน แล้ว run ด้วยคำสั่ง EXECUTE sp_executesql ครับ ^_^
https://www.mssqltips.com/sqlservertip/1160/execute-dynamic-sql-commands-in-sql-server/
|
 |
 |
 |
 |
Date :
2018-01-29 17:55:31 |
By :
SandKing |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 11 เขียนโดย : SandKing เมื่อวันที่ 2018-01-29 17:55:31
รายละเอียดของการตอบ ::
กะว่าจะเอาไปศึกษาเองอีกนิดหน่อยแต่ก็ยังงงอยู่ดีอ่ะค่ะ ยังไงรบกวนช่วยดูให้อีกทีนะคะ ขอบคุณมากค่ะ
Code (SQL)
DECLARE @minDate DATETIME = ( SELECT MIN( reciept_date ) FROM dbo.tb2);
DECLARE @newLine CHAR(2) = CHAR(13)+CHAR(10);
DECLARE @sqlSelect NVARCHAR(max) =
'SELECT
CASE WHEN( ROW_NUMBER() OVER ( PARTITION BY p_no ORDER BY p_no )) = 1 THEN p_no ELSE '''' end p_no
, p_price
, convert( varchar , t2.reciept_time , 8 ) reciept_time ' ;
DECLARE @sqlWhere NVARCHAR(max) = 'FROM dbo.tb1
CROSS APPLY(
SELECT id, reciept_time FROM dbo.tb2 WHERE p_no_id = dbo.tb1.id
) t2'
DECLARE @cnt INT = 0;
DECLARE @strCnt VARCHAR(10) = '';
DECLARE @strMinDate VARCHAR(20) = '';
WHILE @cnt < 7 --จำนวนวัน
BEGIN
SET @strCnt = CAST(@cnt AS VARCHAR(10));
SET @strMinDate = convert(varchar, DATEADD(DAY , @cnt , @minDate), 1)
set @sqlSelect += @newLine +' , isnull( day'+ @strCnt+ '.amont ,0) [' + @strMinDate+ '] ' ;
SET @sqlWhere += @newLine
+ 'outer APPLY (
SELECT ForecastCumQty FROM dbo.MasterData WHERE id = t2.id AND ForecastTime = t2.ForecastTime
AND ForecastDate = ''' + @strMinDate + '''
) day' + @strCnt;
SET @cnt += 1;
END;
DECLARE @sqlAll NVARCHAR(MAX) = @sqlSelect + @newLine + @sqlWhere;
--PRINT @sqlAll;
EXECUTE sp_executesql @sqlAll;
Database :: https://drive.google.com/open?id=1bivhPWUEO7hO-wmudrPu5H55kpPBwUFD
อยากได้ผลลัพธ์ประมาณนี้อ่ะค่ะ
|
 |
 |
 |
 |
Date :
2018-01-30 10:34:04 |
By :
NickyPrime |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
สงสัยเป็นคนละ version กัน งั้นขอเป็น Generate Scripts ก็ได้ครับ
คลิ๊กขวาที่ Database > Tasks > Generate Scripts..
หัวข้อ Introduction กด Next ไปครับ
หัวข้อ Choose Objects ก็เลือก Table ที่เราจะเอาให้ซึ่งก็คือ Shipping และ MaserData กด Next ไป
จะถึงหัวข้อนี้สำคัญ Set Scripting Options กด Advanced
หัวข้อ Script for Server Version เลือกเป็น SQL Server 2008 R2
หัวข้อ Types of data to script เลือกเป็น Schema and data
ละก็เลือกพื้นที่ save ไฟล์ครับ
https://stackoverflow.com/questions/26103477/downgrade-database-from-sql-server-2012-to-2008
เดี๋ยวขออนุญาตเอา Script คุณ Programmer Of Persia ไปปรับใช้ดูครับ
|
 |
 |
 |
 |
Date :
2018-01-30 11:24:25 |
By :
nPointXer |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช้ PIVOT TABLE น่าจะง่ายสุดละครับ
Code (SQL)
WITH Report AS
(
SELECT ROW_NUMBER() OVER (ORDER BY PartNum) ROW_NUM,PartNum,ForcastDate ,ForcastTime,Material,DV,Plant,ForcastCumQty
FROM Shipping
INNER JOIN MasterData ON Shipping.ID=MasterData.ID
)
SELECT * FROM
(
SELECT (CASE WHEN PartNum=(SELECT PartNum FROM Report TBLSUB WHERE TBLSUB.ROW_NUM+1=Report.ROW_NUM ) THEN ' ' ELSE PartNum END)PartNum,
ForcastDate,
ForcastTime,
Material,
DV,
Plant,
ForcastCumQty,
ROW_NUM
FROM Report
ORDER BY PartNum
)
PIVOT
(
SUM(ForcastCumQty)
FOR ForcastDate IN ('20180109','20180110','20180111','2018012')
)
ORDER BY ROW_NUM
|
 |
 |
 |
 |
Date :
2018-01-30 11:35:34 |
By :
OOP |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 13 เขียนโดย : nPointXer เมื่อวันที่ 2018-01-30 11:24:25
รายละเอียดของการตอบ ::
ได้แบบนี้อ่ะจ้า
Code (SQL)
USE [test_sql2]
GO
/****** Object: Table [dbo].[MasterData] Script Date: 30/01/2018 13:01:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MasterData](
[id] [int] IDENTITY(1,1) NOT NULL,
[DV] [nchar](10) NULL,
[Plant] [nchar](10) NULL,
[Material] [nchar](10) NULL,
[CustomerMaterialNumber] [varchar](50) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Shipping] Script Date: 30/01/2018 13:01:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Shipping](
[id] [int] IDENTITY(1,1) NOT NULL,
[PartNum] [varchar](50) NULL,
[ForecastNetQTY] [varchar](50) NULL,
[ForecastCumQty] [varchar](50) NULL,
[ForecastDate] [varchar](50) NULL,
[ForecastTime] [nchar](10) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[MasterData] ON
INSERT [dbo].[MasterData] ([id], [DV], [Plant], [Material], [CustomerMaterialNumber]) VALUES (1, N'10 ', N'101 ', N'112235 ', N'AB31 19E673 AA')
INSERT [dbo].[MasterData] ([id], [DV], [Plant], [Material], [CustomerMaterialNumber]) VALUES (2, N'10 ', N'101 ', N'11524 ', N'AB39 17775 AD')
INSERT [dbo].[MasterData] ([id], [DV], [Plant], [Material], [CustomerMaterialNumber]) VALUES (3, N'10 ', N'103 ', N'2511125 ', N'AB39 17775 BD527B')
INSERT [dbo].[MasterData] ([id], [DV], [Plant], [Material], [CustomerMaterialNumber]) VALUES (4, N'10 ', N'105 ', N'252125 ', N'AB39 17775 BD534E')
INSERT [dbo].[MasterData] ([id], [DV], [Plant], [Material], [CustomerMaterialNumber]) VALUES (5, N'10 ', N'102 ', N'512215 ', N'AB39 17775 BDCDBB')
SET IDENTITY_INSERT [dbo].[MasterData] OFF
SET IDENTITY_INSERT [dbo].[Shipping] ON
INSERT [dbo].[Shipping] ([id], [PartNum], [ForecastNetQTY], [ForecastCumQty], [ForecastDate], [ForecastTime]) VALUES (1, N'AB31 19E673 AA', N'150', N'20', N'20180109', N'8:00 ')
INSERT [dbo].[Shipping] ([id], [PartNum], [ForecastNetQTY], [ForecastCumQty], [ForecastDate], [ForecastTime]) VALUES (2, N'AB31 19E673 AA', N'430', N'35', N'20180109', N'12:45 ')
INSERT [dbo].[Shipping] ([id], [PartNum], [ForecastNetQTY], [ForecastCumQty], [ForecastDate], [ForecastTime]) VALUES (3, N'AB39 17775 AD', N'20', N'10', N'20180110', N'8:00 ')
INSERT [dbo].[Shipping] ([id], [PartNum], [ForecastNetQTY], [ForecastCumQty], [ForecastDate], [ForecastTime]) VALUES (4, N'AB39 17775 BD527B', N'30', N'25', N'20180110', N'12:45 ')
INSERT [dbo].[Shipping] ([id], [PartNum], [ForecastNetQTY], [ForecastCumQty], [ForecastDate], [ForecastTime]) VALUES (5, N'AB39 17775 BD527B', N'45', N'35', N'20180111', N'8:00 ')
SET IDENTITY_INSERT [dbo].[Shipping] OFF
|
 |
 |
 |
 |
Date :
2018-01-30 13:03:52 |
By :
NickyPrime |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมทำใน Oracle ครับ ต้องเอาไปดัดแปลงเอง ถ้ามันมีวันที่เปลี่ยนไปเรือยๆ แนะนำให้ใส่ DECLARE ใส่ตัวแปรครับ
|
 |
 |
 |
 |
Date :
2018-01-30 13:30:01 |
By :
OOP |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำเป็นแบบนี้ดู [20180109] ไม่ต้องมีเขา
|
 |
 |
 |
 |
Date :
2018-01-30 14:05:34 |
By :
OOP |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 19 เขียนโดย : OOP เมื่อวันที่ 2018-01-30 14:05:34
รายละเอียดของการตอบ ::
ค่าเวลาที่ออกมาซ้ำกันนะค่ะ
Code (SQL)
WITH Report AS
(
SELECT ROW_NUMBER() OVER (ORDER BY PartNum) ROW_NUM,PartNum ,ForecastDate ,ForecastTime,Material,DV,Plant,ForecastCumQty
FROM Shipping
INNER JOIN MasterData ON Shipping.PartNum=MasterData.CustomerMaterialNumber
)
SELECT * FROM
(
SELECT (CASE WHEN PartNum=(SELECT PartNum FROM Report TBLSUB WHERE TBLSUB.ROW_NUM+1=Report.ROW_NUM ) THEN ' ' ELSE PartNum END)
PartNum,
ForecastDate,
ForecastTime,
Material,
DV,
Plant,
ForecastCumQty,ROW_NUM
FROM Report
)a
PIVOT
(
SUM(ForecastCumQty)
FOR ForecastDate IN ([20180109],[20180110],[20180111])
)
as p
order by ROW_NUM
|
 |
 |
 |
 |
Date :
2018-01-30 14:43:12 |
By :
NickyPrime |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองปรับแก้เองดูคับ เพราะผมทำให้เป็นแนวทางครับ ถ้าทำให้หมดทุกอย่าง เดวต้องมาถามตลอด
|
 |
 |
 |
 |
Date :
2018-01-30 14:55:47 |
By :
OOP |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ให้ตายเหอะ ForecastCumQty เก็บเป็น varchar ต้อง convert เป็น int ก่อนไม่งั้นไม่ออก หรือจะใส่อีกแบบก็ได้ MAX(...) แต่ถ้ามีข้อมูลที่ต้องรวม ก็ต้องใช้ SUM(...) อยู่ดี
Code (MSSQL) แบบ SUM(...)
DECLARE @Query AS NVARCHAR (MAX)
,@ColumnName AS NVARCHAR (MAX)
SELECT @ColumnName = ISNULL(@ColumnName + ',', '') + QUOTENAME(ForecastDate)
FROM
(
SELECT DISTINCT ForecastDate
FROM dbo.Shipping
) AS ForecastDate
ORDER BY ForecastDate
SET @Query = N'
SELECT DISTINCT
PartNum,
Material,
DV,
Plant,
ForecastNetQTY,
ForecastTime,
' + @ColumnName + '
FROM (
SELECT a.PartNum
, b.Material
, b.DV
, b.Plant
, a.ForecastNetQTY
, a.ForecastTime
, a.ForecastDate
, CAST(a.ForecastCumQty AS INT) AS ForecastCumQty
FROM [dbo].[Shipping] a
LEFT JOIN [dbo].[MasterData] b ON (a.PartNum=b.CustomerMaterialNumber)
) AS j PIVOT (
SUM(ForecastCumQty) FOR ForecastDate IN (' + @ColumnName + ')
) AS ForecastDate'
EXEC sp_executesql @Query
Code (MSSQL) แบบ MAX(...)
DECLARE @Query AS NVARCHAR (MAX)
,@ColumnName AS NVARCHAR (MAX)
SELECT @ColumnName = ISNULL(@ColumnName + ',', '') + QUOTENAME(ForecastDate)
FROM
(
SELECT DISTINCT ForecastDate
FROM dbo.Shipping
) AS ForecastDate
ORDER BY ForecastDate
SET @Query = N'
SELECT DISTINCT
PartNum,
Material,
DV,
Plant,
ForecastNetQTY,
ForecastTime,
' + @ColumnName + '
FROM (
SELECT a.PartNum
, b.Material
, b.DV
, b.Plant
, a.ForecastNetQTY
, a.ForecastTime
, a.ForecastDate
, a.ForecastCumQty
FROM [dbo].[Shipping] a
LEFT JOIN [dbo].[MasterData] b ON (a.PartNum=b.CustomerMaterialNumber)
) AS j PIVOT (
MAX(ForecastCumQty) FOR ForecastDate IN (' + @ColumnName + ')
) AS ForecastDate'
EXEC sp_executesql @Query
|
 |
 |
 |
 |
Date :
2018-01-30 16:41:56 |
By :
nPointXer |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
select p_no, p_price, reciept_time
, if(ds7=0, '', ds7) as d7
, if(ds6=0, '', ds6) as d6
, if(ds5=0, '', ds5) as d5
, if(ds4=0, '', ds4) as d4
, if(ds3=0, '', ds3) as d3
, if(ds2=0, '', ds2) as d2
, if(ds1=0, '', ds1) as d1
from (
select p_no_id, reciept_time
, sum(if(reciept_date=date_sub('2018-01-27', interval 6 day), amount, 0)) as ds7
, sum(if(reciept_date=date_sub('2018-01-27', interval 5 day), amount, 0)) as ds6
, sum(if(reciept_date=date_sub('2018-01-27', interval 4 day), amount, 0)) as ds5
, sum(if(reciept_date=date_sub('2018-01-27', interval 3 day), amount, 0)) as ds4
, sum(if(reciept_date=date_sub('2018-01-27', interval 2 day), amount, 0)) as ds3
, sum(if(reciept_date=date_sub('2018-01-27', interval 1 day), amount, 0)) as ds2
, sum(if(reciept_date='2018-01-27', amount, 0)) as ds1
from tb2 where reciept_date>date_sub('2018-01-27', interval 7 day)
group by p_no_id, reciept_time
) as tmp
left join tb1 on tb1.id = tmp.p_no_id
order by p_no, reciept_time

ข้างบน เป็นตัวอย่าง จาก mysql เป็นการคิวรี่ จากคำสั่งพื้นฐาน ลองศึกษาให้เข้า่ใจดูก่อน
แล้วเปลี่ยนคำสั่งให้เป็น sqlserver
Code (SQL)
### จาก
, if(ds7=0, '', ds7) as d7
, sum(if(reciept_date=date_sub('2018-01-27', interval 6 day), amount, 0)) as ds7
### เป็น
, case ds7 when 0 then '' else ds7 end as d7
, sum(case reciept_date when dateadd(day, -6, date('2018-01-27')) then amount else 0 end) as ds7
|
ประวัติการแก้ไข 2018-01-30 20:29:11
 |
 |
 |
 |
Date :
2018-01-30 20:28:01 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อันนี้แบบแสดง 7 วันครับ จากวันที่แรกของข้อมูล ไม่รู้ว่าใช่ที่ต้องการหรือเปล่าครับ อาจจะมีวิธีที่ดีและง่ายกว่านี้ก็แก้ๆตรง SELECT @ColumnName = ISNULL แถวๆนั้นแหละครับ ลองดูเนาะ
Code (MSSQL)
DECLARE @Query AS NVARCHAR (MAX)
,@ColumnName AS NVARCHAR (MAX)
SELECT @ColumnName = ISNULL(@ColumnName + ',', '') + QUOTENAME(ForecastDate)
FROM
(
SELECT TOP 1 CONVERT(char(10), DATEADD(day, 0,cast(ForecastDate AS date)),112) AS ForecastDate
FROM dbo.Shipping
union all
SELECT TOP 1 CONVERT(char(10), DATEADD(day, 1,cast(ForecastDate AS date)),112) AS ForecastDate
FROM dbo.Shipping
union all
SELECT TOP 1 CONVERT(char(10), DATEADD(day, 2,cast(ForecastDate AS date)),112) AS ForecastDate
FROM dbo.Shipping
union all
SELECT TOP 1 CONVERT(char(10), DATEADD(day, 3,cast(ForecastDate AS date)),112) AS ForecastDate
FROM dbo.Shipping
union all
SELECT TOP 1 CONVERT(char(10), DATEADD(day, 4,cast(ForecastDate AS date)),112) AS ForecastDate
FROM dbo.Shipping
union all
SELECT TOP 1 CONVERT(char(10), DATEADD(day, 5,cast(ForecastDate AS date)),112) AS ForecastDate
FROM dbo.Shipping
union all
SELECT TOP 1 CONVERT(char(10), DATEADD(day, 6,cast(ForecastDate AS date)),112) AS ForecastDate
FROM dbo.Shipping
) AS ForecastDate
ORDER BY ForecastDate
SET @Query = N'
SELECT DISTINCT
PartNum,
Material,
DV,
Plant,
ForecastNetQTY,
ForecastTime,
' + @ColumnName + '
FROM (
SELECT a.PartNum
, b.Material
, b.DV
, b.Plant
, a.ForecastNetQTY
, a.ForecastTime
, a.ForecastDate
, CAST(a.ForecastCumQty AS INT) AS ForecastCumQty
FROM [dbo].[Shipping] a
LEFT JOIN [dbo].[MasterData] b ON (a.PartNum=b.CustomerMaterialNumber)
) AS j PIVOT (
SUM(ForecastCumQty) FOR ForecastDate IN (' + @ColumnName + ')
) AS ForecastDate'
EXEC sp_executesql @Query
|
 |
 |
 |
 |
Date :
2018-01-31 10:56:41 |
By :
nPointXer |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมเข้าใจทุกฯคำถามและทุกฯคำตอบ
--- +55555
เห็นเด็กฯ สมัยนี้คุยกัน อ่านแล้วมันก็สนุกดี
|
 |
 |
 |
 |
Date :
2018-02-04 20:27:08 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าอยากง่ายนะครับ ให้ทำ pivot ที่รายงาน
ไม่ใช่การทำ pivot ตอน query
รายงานที่ว่าคือ ssrs, crystal report
เคสนี้อย่าไปยึดติดว่าต้องสมบูรณ์แบบตั้งแตกแรก เราใช้ทูลช่วยบ้างก็ไม่เป็นไรหรอก
แต่ถ้าอยากทำให้เสร็จในคิวรี่เยก็มีวิธีอยู่
https://gist.github.com/smoothdeveloper/6898062
https://www.mssqltips.com/sqlservertip/2783/script-to-create-dynamic-pivot-queries-in-sql-server/
|
 |
 |
 |
 |
Date :
2018-02-09 15:14:50 |
By :
deksoke |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Query เด็กฯพวกนี้ผมเคยเขียนมาตั้งแต่ยี่สิบปีที่แล้ว
(อาจจะไม่ได้อยู่ในรูปแบบนี้)
@Furikuri ขอบคุณนะสำหรับสิ่งที่ผมคิด "อย่างน้อยฯผมก็ยังคิดว่ายังมีคุณเป็นเพื่อน"
ทุกฯคำถาม/คำตอบ ผมไม่สนใจคำตอบแม้แต่นิดเดียว
มันไม่ทำให้ผมจนขึ้น หรือว่า รวยลง แม้แต่นิดเดียว
ผมฝากข้อความเตือนสติคุณเอาไว้ว่า "อะไรก็ตามที่คนอื่นเขาไม่ทำ แต่เราทำเป็นคนแรก"
ขอให้โชคดีครับและอย่าประมาทกับชีวิต
ด้วยความปราถนาดี
หน้าฮี
|
 |
 |
 |
 |
Date :
2018-02-11 14:26:27 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|