Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > สอบถามเกี่ยวกับการแปลงวันที่และเวลาและการ กรุ๊ปให้อยู่ในแนวนอนครับ



 

สอบถามเกี่ยวกับการแปลงวันที่และเวลาและการ กรุ๊ปให้อยู่ในแนวนอนครับ

 



Topic : 126920



โพสกระทู้ ( 45 )
บทความ ( 0 )



สถานะออฟไลน์




สอบถามหน่อยครับ ผม Select ข้อมูลออกมาได้เป็นแบบนี้ครับ

ๅๅๅ

Code (C#)
        private void showdgvinoutwork()
        {
            string sql = "SELECT checkinout.USERID,checkinout.CHECKTIME,userinfo.Badgenumber,emp.nameth,emp.dept_ID,emp.statusemp_ID,emp.statusempid_ID,emp.party_ID" + Environment.NewLine;
            sql += "FROM tbl_Employee as emp " + Environment.NewLine;
            sql += "INNER JOIN USERINFO AS userinfo ON emp.employee_ID = USERINFO.Badgenumber" + Environment.NewLine;
            sql += "INNER JOIN CHECKINOUT AS checkinout ON userinfo.USERID = checkinout.USERID" + Environment.NewLine;
            sql += "INNER JOIN tbl_Antecedent AS title ON emp.ante_ID = title.ante_ID";
            dtDgv = connect_db.SelectData(sql);
            DgvInOutWork.DataSource = dtDgv;
        }


แต่ผมอยากให้มันเป็นแบบนี้ ครับ ขอวิธีและแนวทางหน่อยครับ

กกกก



Tag : .NET, Ms SQL Server 2008, Crystal Report, Win (Windows App), C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-03-22 23:25:46 By : kittisak30 View : 927 Reply : 4
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ลองดูวิธีการ Pivot นะครับ ทำได้ แต่ Query อาจจะยากหน่อย






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-23 10:01:28 By : mr.win
 


 

No. 2



โพสกระทู้ ( 45 )
บทความ ( 0 )



สถานะออฟไลน์


ยัง งงๆ ครับ

Code (SQL)
SELECT 
	USERID,CAST(DATEPART(dd, CHECKTIME) AS varchar(2)) + '/' + CAST(DATEPART(mm, CHECKTIME) AS varchar(2)) + '/' + CAST(DATEPART(yyyy, CHECKTIME) AS varchar(4)) AS EmpDate,
	
	(CHECKTIME) AS [time1],
	(CHECKTIME) AS [time2],
	(CHECKTIME) AS [time3],
	(CHECKTIME) AS [time4]

FROM CHECKINOUT

WHERE USERID = '1' 


เเเเ

ข้อมูลมันไม่เรียงเลยครับ


ประวัติการแก้ไข
2017-03-23 15:01:26
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-23 13:22:19 By : kittisak30
 

 

No. 3



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

666

เหมือนจะต้องหา ว่าวันไหนมี rows มากสุดก่อนรึป่าวครับ
เพราะ จำนวน column = rows

ลองแบบนี้ดูไม๊ครับ

1. SELECT ข้อมูลมาธรรมดา ก่อน
2. สร้าง datatable โดย เลือกเอาวันที่ rows สูงสุด มาคิดจำนวน column
3. for loop add data เข้าใน datatable ที่สร้าง
4. DgvInOutWork.DataSource = datatable ที่สร้าง;

แบบนี้ก็แก้ขัดไปก่อนได้เหมือนกันครับ


ประวัติการแก้ไข
2017-03-23 16:30:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-23 16:27:10 By : lamaka.tor
 


 

No. 4



โพสกระทู้ ( 45 )
บทความ ( 0 )



สถานะออฟไลน์


ช่วยหน่อยครับ ตอนนี้ ข้อมูลออกแล้วครับ แต่เวลาแต่เวลา เป็น min max

fff

Code (SQL)
DECLARE @cols AS NVARCHAR(MAX),
    @query  AS NVARCHAR(MAX)

select @cols = STUFF((SELECT ',' + QUOTENAME(date +'_'+Logname) 
                    from
                    (
                      select checktime,
                        convert(char(10),checktime, 101) date, 
                        LogName
                      from CHECKINOUT
                      cross apply
                      (
                        select 'In' LogName
                        union all
                        select 'Out' 
                      ) l
                    ) s   
                    group by convert(char(10), checktime, 112), date, Logname
                    order by convert(char(10), checktime, 112)
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)') 
        ,1,1,'')

set @query 
    = 'select userid, name, badgenumber, '+@cols+'
       from
       (
         select userid, name, badgenumber,
          convert(char(8), doortime, 108) DoorTime,
          date + ''_''+ col col_names
         from
         (
            select p.userid, p.name, p.badgenumber,
              convert(char(10),d.checktime, 101) date,
              min(d.checktime) [In],
              max(d.checktime) [Out]

            from USERINFO p
            left join CHECKINOUT d
            on p.userid = d.userid
            group by p.userid, p.name, p.badgenumber,
            convert(char(10),d.checktime, 101)
         )src
         unpivot
         (
           doortime
           for col in ([In], [Out])
         ) unpiv
       ) p
       pivot
       (
          max(doortime)
          for col_names in('+@cols+')
       ) piv'

execute(@query)



แต่ที่อยากให้ออกคือ รูปแบบนี้ครับ

USERID | NAME | BADGENUMBER | 03/08/2017 _ IN | 03/08/2017_OUT | 03/08/2017 _IN | 03/08/2017 _OUT |
_________________________________________________________________________________________
1 | ทดสอบ | 15212 | 7:53 | 12:00 | 12:43 | 17:02 |
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-25 11:28:38 By : kittisak30
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเกี่ยวกับการแปลงวันที่และเวลาและการ กรุ๊ปให้อยู่ในแนวนอนครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่