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 > VB.NET/SQL รบกวนดูโค้ดให้หน่อยค่ะ จะใส่ Group by แต่มัน error ค่ะ



 

VB.NET/SQL รบกวนดูโค้ดให้หน่อยค่ะ จะใส่ Group by แต่มัน error ค่ะ

 



Topic : 098604

Guest




Dim strSQL As String = ""
        'Position-Trained Query
        strSQL = "SELECT DISTINCT PositionPerson.PositionId,Training.CourseID, Course.Title, TrainingResult.PersonId, Personnel.TName, Personnel.TLastname,"
        'strSQL &= " PositionPerson.PositionId, Description.Dept,"
        strSQL &= " Description.Dept,"
        strSQL &= " TR_ISO_Type.ISO_Type_Description, TrainingResult.Remarks,Training.TrainingNo,Training.TrainedDate,Training.FinishDate"
        strSQL &= " FROM Description INNER JOIN ((((Course INNER JOIN (Training INNER JOIN TrainingResult ON Training.TrainingNo = TrainingResult.TrainingNo)"
        strSQL &= " ON Course.Course_Id = Training.CourseID) INNER JOIN Personnel ON TrainingResult.PersonId = Personnel.PersonId) INNER JOIN TR_ISO_Type ON Course.ISO_Type_Id = TR_ISO_Type.ISO_Type_Id)"
        strSQL &= " INNER JOIN PositionPerson ON Personnel.PersonId = PositionPerson.PersonId) ON Description.PositionId = PositionPerson.PositionId "

If cboSearch.SelectedIndex = 0 Then 'รหัสหลักสูตร (Course Id)
            strSQL &= " AND ((Course.Course_Id) LIKE '%" & txtSearch.Text & "%')"
        ElseIf cboSearch.SelectedIndex = 1 Then 'รหัสพนักงาน (Person Id)
            strSQL &= " AND ((Personnel.PersonId) LIKE '%" & txtSearch.Text & "%')"
        ElseIf cboSearch.SelectedIndex = 2 Then 'ชื่อพนักงาน
            strSQL &= " AND ((Personnel.TName) LIKE '%" & txtSearch.Text & "%')"
        ElseIf cboSearch.SelectedIndex = 3 Then 'นามสกุลพนักงาน
            strSQL &= " AND ((Personnel.TLastname) LIKE '%" & txtSearch.Text & "%')"
        ElseIf cboSearch.SelectedIndex = 4 Then 'รหัสตำแหน่งพนักงาน (Position Id)
            'strSQL &= " AND ((PositionPerson.PositionId) LIKE '%" & txtSearch.Text & "%')"
        ElseIf cboSearch.SelectedIndex = 5 Then 'แผนกงานของพนักงาน (Dept.)
            strSQL &= " AND ((Description.Dept) LIKE '%" & txtSearch.Text & "%')"
        End If

strSQL &= " AND ((TrainingResult.Remarks)='Succeed')"
        strSQL &= " AND ((Course.PositionNeed)='1')"
        strSQL &= " AND ((Personnel.InactiveReason) Is Null)"
        strSQL &= " AND ((PositionPerson.Main)=FALSE)"           
        strSQL &= " )"
        strSQL &= "ORDER BY Training.CourseID ASC,"

        strSQL &= "GROUP BY Training.Training.TrainingNo" 'จะใส่แบบนี้ค่ะ แต่ใส่แล้วมัน error



strSQL &= "GROUP BY Training.Training.TrainingNo" 'จะใส่แบบนี้ค่ะ แต่ใส่แล้วมัน error

ไม่ทราบว่าต้องใส่แบบไหน ลองใส่แบบด้านบน แล้ว error



Tag : .NET, Ms Access, VS 2008 (.NET 3.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-08-02 12:05:04 By : nan View : 1086 Reply : 23
 

 

No. 1



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



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


ลอง
strSQL &= "GROUP BY Training.TrainingNo"
ดูครับ เผื่อได้






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 12:11:18 By : fonfire
 


 

No. 2

Guest


ทราบว่า(รู้ว่า) มีอยู่ 4 คอลัมภ์ (Columns) และไม่ทราบจำนวนแถว (ไม่มีทางรู้)

Code
แนวตั้ง (Columns) แนวนอน (Rows) 1 1 1 1 1 1 1 2 1 1 1 3 ... ... ... Group By แปลว่า แยกความแตกต่างของแนวนอน (Rows) By แนวตั้ง (Columns)



คุณไม่สามารถแยกความแตกต่าง ระหว่าง แถวที่ 1 และ แถวที่ 2 โดยคอลัมภ์ที่ 1
ข้อมูลแถวที่ 1 = 1 1 1 1
ข้อมูลแถวที่ 2 = 1 1 1 2

โดยธรรมชาติ (ในความเป็นจริง) มันแยกไม่ได้


[x] SQL Query FoxPro Version . ---> 9 มันทำได้ (ด้วยเหตุนี้มันถึงไม่มี Version 10)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 12:49:53 By : ผ่านมา
 

 

No. 3

Guest


ข้อมูลแถวที่ 1 = 1 1 1 1
ข้อมูลแถวที่ 2 = 1 1 1 2

ถ้าจะแยกความแตกต่างมันต้องแยกถึง Columns ที่ 4 นั่นคือ
Group By Column1, Column2, Column3, Column4

Visual FoxPro Version ล่าสุดคือ 9 มันแยกได้ ด้วยเหตุนี้ Visual FoxPro ถึงไม่มี Version 10 (Microsoft บอกว่าไม่มี Version 10)

[x] Microsoft ไม่ได้บอก แต่ผมคิดว่า MS ยกเอา Visual FoxPro มาวางบน SQL Server นั่นคือ Store Procedure
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 13:00:25 By : ผ่านมา
 


 

No. 4



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



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


strSQL &= "ORDER BY Training.CourseID ASC," ---->>> น่าจะต้องเอาคอมม่าออกด้วยครับ ^__^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 13:04:23 By : fonfire
 


 

No. 5

Guest


ตอบความคิดเห็นที่ : 4 เขียนโดย : fonfire เมื่อวันที่ 2013-08-02 13:04:23
รายละเอียดของการตอบ ::
strSQL &= "ORDER BY Training.CourseID ASC," ---->>> น่าจะต้องเอาคอมม่าออกด้วยครับ ^__^


โปรแกรมเมอร์สาย DataBase โดยส่วนใหญ่ มอง ---> Rows/Columns
โปรแกรมเมอร์สาย อื่นฯ โดยเฉพาะวิศวะกรรม มอง ---> การเคลื่อนที่ (Movement) บน ล่าง ซ้าย ขวา
หรือ > 3 มิติ เช่น เอียงซ้าย/ขวา etc เป็นต้น (การเคลื่อนที่ไร้ทิศทาง)


[x] มองภาพกว้าง เพื่อหาสิ่งที่ทำให้ผลลัพธ์เปลี่ยน (แรก/ท้าย) หมายความว่า
กวาดตาดู Source Code 10,000 บรรทัีด และเดาเอาว่า มันน่าจะอยู่ตรงไหน?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 13:26:16 By : ผ่านมา
 


 

No. 6

Guest


ตอบความคิดเห็นที่ : 1 เขียนโดย : fonfire เมื่อวันที่ 2013-08-02 12:11:18
รายละเอียดของการตอบ ::
ใส่ strSQL &= "GROUP BY Training.TrainingNo" แล้วขึ้นแบบนี้



ตอบความคิดเห็นที่ : 2 เขียนโดย : ผ่านมา เมื่อวันที่ 2013-08-02 12:49:53
รายละเอียดของการตอบ ::
คุณผ่านมาหมายถึง ทำไม่ได้หรอค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 13:44:29 By : nan
 


 

No. 7

Guest


ลองเอาออกแล้วค่ะ ใส่แบบนี้ยัง error
a
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 13:50:50 By : nan
 


 

No. 8

Guest


strSQL &= "ORDER BY Training.CourseID ASC"
strSQL &= "GROUP BY Training.TrainingNo"


ลองแบบนี้แล้ว error ตามภาพด้สนบน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 13:53:11 By : nan
 


 

No. 9

Guest


คุณผ่านมาหมายถึง ทำไม่ได้หรอค่ะ
ตอบความคิดเห็นที่ : 6 เขียนโดย : nan เมื่อวันที่ 2013-08-02 13:44:29
รายละเอียดของการตอบ ::
คุณผ่านมาหมายถึง ทำไม่ได้หรอค่ะ


คุณผ่านมาหมายถึง ทำไม่ได้หรอค่ะ

มันทำได้ครับ ร้อยแปดพันเก้าวิธี
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 13:56:06 By : ผ่านมา
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : nan เมื่อวันที่ 2013-08-02 13:53:11
รายละเอียดของการตอบ ::
strSQL &= "ORDER BY Training.CourseID ASC " ---->> ลองเคาะวรรคดูครับ
strSQL &= "GROUP BY Training.TrainingNo"

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 14:04:16 By : fonfire
 


 

No. 11



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



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


อ้อ ปกติถ้าชอบเขียนแบบ & ไปเรื่อย ๆ
แนะนำให้ใส่วรรคไว้ข้างหน้าตลอดน่ะครับ จะได้ไม่งง
เช่น
strSQL &= " ORDER BY Training.CourseID ASC"
strSQL &= " GROUP BY Training.TrainingNo"
^__^"
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 14:05:23 By : fonfire
 


 

No. 12



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



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

ตอบความคิดเห็นที่ : 11 เขียนโดย : fonfire เมื่อวันที่ 2013-08-02 14:05:23
รายละเอียดของการตอบ ::


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 14:18:54 By : 01000010
 


 

No. 13

Guest


1. เจ้าของกระทู้ ลองทำความเข้าใจ #NO3
2. คุณ fonfire ลองพิจารณาดูคำถามของเจ้าของกระทู้ (Join กันอิรุงตุงนัง) ให้ดีครับ มันไม่ธรรมดา
(เป็นคนมีน้ำใจ ผมชื่นชมเป็นการส่วนตัว)

3. หนึ่งและสองของกระทู้นี้ #13 ผมจะบอกว่า "ผมเติบโตมาจาก Dbase/FoxBase/RDBMS"
ผม Select ครั้งหนึ่งครั้งจาก PO/SO จนถึงขั้นต่ำระบบ GL
หลายฯ ร้อย Tables

1., 2., 3. ถ้าคุณมีความพยายาม มันทำได้อยู่แล้ว ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 14:32:02 By : ผ่านมา
 


 

No. 14



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



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


ขอบคุณผ่านมา มากครับ แต่ว่าผมขี้เกียจอ่านอะครับ เห็นอะไรมันผิดหูผิดตาก็ตอบไปตามนั้นครับ ^___^ (เหมือนเป็นคนเลวยังไงไม่รู้)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 14:51:57 By : fonfire
 


 

No. 15

Guest


ขอบคุณมากค่ะ ที่ช่วยตอบ

เดี่ยวจะนั่งไล่ดูค่ะ เพราะโดค้ดไม่ได้เขียนเอง เป็นโปรแกรมเก่าที่ต้องแก้ไขค่ะ เลยงงๆอยู่


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 15:08:27 By : nan
 


 

No. 16

Guest


ตอบความคิดเห็นที่ : 15 เขียนโดย : nan เมื่อวันที่ 2013-08-02 15:08:27
รายละเอียดของการตอบ ::
ขอบคุณมากค่ะ ที่ช่วยตอบ
เดี่ยวจะนั่งไล่ดูค่ะ เพราะโดค้ดไม่ได้เขียนเอง เป็นโปรแกรมเก่าที่ต้องแก้ไขค่ะ เลยงงๆอยู่



ผมเข้าใจก่อนที่ ผมกวาดสายตาดู SourceCode >>>> ล้านล้านบรทัด
และผมไม่เคยไล่ SourceCode ของใคร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 15:45:15 By : ผ่านมา
 


 

No. 17



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



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

ORDER BY Training.CourseID ASC, <- ต้องไม่มี Comma ตรงนี้ครับ
และอีกอย่างคำสั่ง ORDER BY ต้องอยู่เป็นชุดท้ายของคำสั่ง SQL ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 16:35:53 By : anucham
 


 

No. 18

Guest


ตอบความคิดเห็นที่ : 16 เขียนโดย : ผ่านมา เมื่อวันที่ 2013-08-02 15:45:15
รายละเอียดของการตอบ ::
รบกวนถามอีกหน่อยค่ะ ตอนนี้ออกรายงานที่ได้ เป็นตามภาพ

แต่จะต้องการให้ เลขที่อบรมอันเดียวกัน ขึ้นแค่บรรทัด เราจะใช้การ Group by ตามที่ถามมาได้ไหมค่ะ

หรือควรใช้วิธีไหนดี

a

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 16:36:59 By : nan
 


 

No. 19

Guest


ตอบความคิดเห็นที่ : 18 เขียนโดย : nan เมื่อวันที่ 2013-08-02 16:36:59
รายละเอียดของการตอบ ::
รบกวนถามอีกหน่อยค่ะ ตอนนี้ออกรายงานที่ได้ เป็นตามภาพ

แต่จะต้องการให้ เลขที่อบรมอันเดียวกัน ขึ้นแค่บรรทัด เราจะใช้การ Group by ตามที่ถามมาได้ไหมค่ะ

หรือควรใช้วิธีไหนดี



กระผมต้องกราบอภิวาบูชาว่า กระผมไม่ทราบครับ
(กระผมไม่ทราบจริงฯ ครับ)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 16:44:05 By : ผ่านมา
 


 

No. 20



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



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


น่าจะเกิดจากการ Join แล้วไปโดน table ที่มี 2 row ครับ
ถ้าจะเอาแบบง่ายเลยก็ใส่ Distinct เข้าไปครับ

ถ้าเอาแบบยาก select * ไปเลย แล้วดูว่าข้อมูล field ไหนมันต่างกัน
แล้วข้อมูลนั้นมันมาจากไหน แล้วค่อยไปหาวิธีแก้อีกที ^___^ "
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 17:01:49 By : fonfire
 


 

No. 21



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



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

เห็นการ Select ผมก็ไม่อยากอ่านต่อละ


ประวัติการแก้ไข
2013-08-02 18:21:31
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 18:21:18 By : 01000010
 


 

No. 22



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ตอบความคิดเห็นที่ : 21 เขียนโดย : 01000010 เมื่อวันที่ 2013-08-02 18:21:18
รายละเอียดของการตอบ ::
หมายถึงวงเล็บเยอะ?

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 20:12:51 By : watcharop
 


 

No. 23



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



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

ตอบความคิดเห็นที่ : 22 เขียนโดย : watcharop เมื่อวันที่ 2013-08-02 20:12:51
รายละเอียดของการตอบ ::
ขี้เกียจครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-02 22:17:47 By : 01000010
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : VB.NET/SQL รบกวนดูโค้ดให้หน่อยค่ะ จะใส่ Group by แต่มัน error ค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่