 |
|
ถ้าหากต้องการจะรวมเซลล์ในกริดวิวที่ข้อมูลเป็นวันที่เดียวกัน จะรวมได้อย่างไรครับ |
|
 |
|
|
 |
 |
|
ถ้าหากต้องการจะรวมเซลล์ในกริดวิวที่ข้อมูลเป็นวันที่เดียวกัน จะรวมได้อย่างไรครับ เช่น จากรูปภาพที่ 1 เป็นข้อมูลที่คิวรี่จาก ms sql (คิวรี่จาก SQL PIVOT) จากโค๊ต
Code (SQL)
DECLARE @strSQL NVARCHAR(MAX)
DECLARE @Date_Conv VARCHAR(MAX)
DECLARE @Cost NVARCHAR(2)
SET @Cost = '30'
SET @Date_Conv = STUFF((SELECT DISTINCT ',[' + [Date_Conv] + ']' FROM V_SubQuery FOR XML PATH('')),1,1,'')
SET @strSQL = 'SELECT SSN AS PersonID,Name AS Name_Lastname, ' + @Date_Conv + ' FROM V_SubQuery PIVOT (MIN(Time_Conv) FOR [Date_Conv] IN (' + @Date_Conv + ')) AS pvt WHERE pvt.OPHONE='+ @Cost +''
exec SP_EXECUTESQL @strSQL
ได้ข้อมูลมาเป็นแบบนี้ ครับ

แต่ข้อมูลกลับแยกกันคนละช่องครับ หากต้องการรวมข้อมูลเวลาที่เป็นวันเดียวกัน ไว้ช่องเดียวกันแบบรูปภาพที่ 2 จะทำอย่างไรได้บ้างครับ

เพราะหาก Mr. A มีข้อมูลเวลา 6 วันก็จะมีการโชว์ข้อมูลถึง 12 แถว ซึ่งจริง ๆ น่าจะมีแค่ 1 แถว แต่มี 6 Row ครับ
จะทำอย่างไรได้บ้างครับ (ASP.NET & MS SQL Server 2012 ครับ ขอบคุณครับ
Tag : .NET, Ms SQL Server 2012, Web (ASP.NET), VB.NET, VS 2010 (.NET 4.x)
|
|
 |
 |
 |
 |
Date :
2013-09-02 10:04:33 |
By :
golf |
View :
1041 |
Reply :
8 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำใน datasource ก่อนไป bind ลง gridview
|
 |
 |
 |
 |
Date :
2013-09-03 07:57:34 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พอจะมีตัวอย่างไหมครับ
|
 |
 |
 |
 |
Date :
2013-09-03 09:31:20 |
By :
golfkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Solution 1 of N เอาอยู่ด้วย Query
Code (SQL)
DECLARE @Big TABLE (
FullName VARCHAR(255),
Date_Conv DATETIME,
Time_Conv VARCHAR(5)
)
INSERT INTO @Big VALUES ('Jim','2013-09-01','08:02')
INSERT INTO @Big VALUES ('Jim','2013-09-01','16:50')
INSERT INTO @Big VALUES ('Jim','2013-09-02','08:04')
INSERT INTO @Big VALUES ('Jim','2013-09-02','16:25')
INSERT INTO @Big VALUES ('Jim','2013-09-03','08:29')
INSERT INTO @Big VALUES ('Jim','2013-09-03','16:02')
SELECT *
FROM @Big
Pivot(Min(Time_Conv) FOR Date_Conv IN (
[2013-09-01],
[2013-09-02],
[2013-09-03]
)) AS Pvt1
UNION ALL
SELECT *
FROM @Big
Pivot(Max(Time_Conv) FOR Date_Conv IN (
[2013-09-01],
[2013-09-02],
[2013-09-03]
)) AS Pvt2
เพิ่มเติม http://www.sqlsoldier.com/wp/sqlserver/smarpivottricks
|
 |
 |
 |
 |
Date :
2013-09-03 16:37:25 |
By :
ผ่านมา |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Solution 1 of N
|
 |
 |
 |
 |
Date :
2013-09-04 12:30:04 |
By :
ผ่านมา |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมรู้ว่ามันมีวิธีที่ดีกว่านี้อีก "เพิ่มเติม http://www.sqlsoldier.com/wp/sqlserver/smarpivottricks"
แต่วิธีที่ดีที่สุด (หนทางนั้น) มันเกิน สติปัญญาของผม
|
 |
 |
 |
 |
Date :
2013-09-04 12:34:47 |
By :
ผ่านมา |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คนมากกว่าหนึ่งคน ถ้าพูดความจริงแล้ว จะพูดอีกสักกี่ครั้ง พูดอีกกี่คน มันก็ตรงกัน เพราะมันเป็นความจริง
คนมากกว่าสิบคน ถ้าพูดโกหกแล้ว จะพูดอีกสักกี่ครั้ง พูดอีกกี่คน มันก็ไม่ตรงกัน
เพราะมันจำไม่ได้ว่า มันเคยโกหก อะไรไปบ้าง
|
 |
 |
 |
 |
Date :
2013-09-04 12:44:45 |
By :
ผ่านมา |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณครับ เดี๋ยวลองศึกษาดูครับผม
|
 |
 |
 |
 |
Date :
2013-09-04 22:10:48 |
By :
golfkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนนี้ลองทำแล้วครับ ผลคือ เวลาคิวรี่ออกมาจะได้แบบนี้ครับ
--------------------------------------------------------------------------------------------
NAME 01/09/2556 02/09/2556 03/09/2556
--------------------------------------------------------------------------------------------
MR.A 07.00 07.02 07.03
MR.B 06.32 07.20 08.54
MR.A 16.00 17.00 17.00
MR.B 16.00 17.00 17.00
--------------------------------------------------------------------------------------------
มันไม่เรียงกันแบบนี้อ่ะครับ
--------------------------------------------------------------------------------------------
NAME 01/09/2556 02/09/2556 03/09/2556
--------------------------------------------------------------------------------------------
MR.A 07.00 07.02 07.03
MR.A 16.00 17.00 17.00
MR.B 06.32 07.20 08.54
MR.B 16.00 17.00 17.00
--------------------------------------------------------------------------------------------
พอใส่ในส่วนของ ORDER BY มันจะฟ้องเออเร่อ UNION ครับ
|
 |
 |
 |
 |
Date :
2013-09-06 15:16:53 |
By :
golfkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|