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,038

HOME > .NET Framework > Forum > ใครพอจะมีเทคนิคการดึงข้อมูลซ้ำๆกันแล้วให้มันเหลืออันเดียวบ้างไหมครับ


 

[.NET] ใครพอจะมีเทคนิคการดึงข้อมูลซ้ำๆกันแล้วให้มันเหลืออันเดียวบ้างไหมครับ

 
Topic : 128774



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



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



อย่างเช่น
ิิbarcode state
TE170 01
TE170 02
TE170 03
TE170 04
TE170 05
TE171 01
TE171 02
TE171 03
TE171 04

แบบนี้อะครับต้องการแค่
ิิbarcode state
TE170 05
TE171 04

พอจะมีเทคนิค sql ยังไงบ้างไหมครับหรือดึงข้อมูลมาทั้งหมดแล้วคำนวณใน VB ก็ได้ครับ
แต่ละ barcode state อาจจะไม่เท่ากันนะครับต้องการแค่ว่า state ไหนสูงสุดครับ
ขอบคุณครับ



Tag : .NET, PostgreSQL, VB.NET, Windows

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-09-01 20:31:09 By : realizejoke View : 1288 Reply : 15
 

 

No. 1



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



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

Code (SQL)
1.SELECT COUNT(*) AS bar, barcode
2.FROM table_name
3.GROUP BY barcode
4.ORDER BY bar DESC;



ประวัติการแก้ไข
2017-09-02 08:16:24
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-02 08:13:06 By : pakyaudio
 

 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : pakyaudio เมื่อวันที่ 2017-09-02 08:13:06
รายละเอียดของการตอบ ::
ขอบคุณครับแต่มันยังไม่ตรงกับความต้องการอะครับ มันนับได้แค่ว่า มีกี่ตัวที่ซ้ำ แต่ไม่รู้ว่า่ state ล่าสุดของมันอะคืออะไร
เพราะบาง barcode มันมี state ไม่เท่ากัน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-02 09:42:47 By : realizejoke
 

 

No. 3



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



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


Code (SQL)
1.select bar, max(state)
2.from tablename
3.group by bar


แต่อยากจะบอกว่ามันเป็น พื้นฐาน
อยากให้หัดอ่าน document ของแต่ละโปรแกรมกันหน่อยได้ไหม อย่าขึ้เกียจอ่านกันนักเลย
มันได้ประโยชน์สำหรับผู้อ่านนะครับ


ประวัติการแก้ไข
2017-09-02 14:55:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-02 14:52:47 By : Chaidhanan
 

 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2017-09-02 14:52:47
รายละเอียดของการตอบ ::
ผมอ่านครับ ส่วนที่เอามาเป็นตัวอย่างนั้นมันเอามาเป็นแนวทางเฉยๆ ครับ
Code (VB.NET)
01."SELECT MAX(t_sikakari.sagyonaiyo_cd) as STATE,t_sagyomeisai.pltdr_no as BARCODE,m_zaikozuban.zaikozuban ,t_sikakari.kosin_date,t_sagyomeisai.suryo,t_sagyomeisai.cur_suryo,t_siagekensa.stldr_no
02.                        FROM t_sikakari
03.                              JOIN t_sagyomeisai
04.                              ON t_sikakari.sagyomeisai_cd = t_sagyomeisai.sagyomeisai_cd
05.                              JOIN t_siagekensa
06.                              ON t_sagyomeisai.siagekensa_cd = t_siagekensa.siagekensa_cd
07.                              JOIN m_zaikozuban
08.                              ON t_sagyomeisai.pltzuban_cd = m_zaikozuban.zaikozuban_cd
09.                        group by t_sikakari.sagyonaiyo_cd ,t_sagyomeisai.pltdr_no,t_sikakari.kosin_date,t_sagyomeisai.suryo,t_sagyomeisai.cur_suryo,t_siagekensa.stldr_no,m_zaikozuban.zaikozuban
10.                        order by t_sagyomeisai.pltdr_no;"

test
บอกทีครับ ทำไมมันมาทั้งหมดไม่มาเฉพาะ Max

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-07 11:45:03 By : realizejoke
 

 

No. 5



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



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


บอกทีครับ ทำไมมันมาทั้งหมดไม่มาเฉพาะ Max
>>>> เพราะว่าเอา t_sikakari.sagyonaiyo_cd ไปใส่ใน Group By ด้วย ก็เลยออกมาทั้งหมด

แต่ถึงจะเอา t_sikakari.sagyonaiyo_cd ออกจาก Group by ก็ยังไม่ได้ข้อมูลแถวเดียวอยู่ดีครับ
เนื่องจากมีบางคอลัมภ์ที่มีข้อมูลต่างกัน

ตรง t_sikakari.kosin_date
อันนี้เอาออกได้ไหมครับ
หรือจำเป็นต้องเก็บไว้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-07 12:03:29 By : fonfire
 

 

No. 6



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



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


grouip by kosin_date มันต่างกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-07 12:13:25 By : Chaidhanan
 

 

No. 7



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : fonfire เมื่อวันที่ 2017-09-07 12:03:29
รายละเอียดของการตอบ ::
พอเอาออกได้เลยครับ แต่ว่ามันต้องเอามาใช้ดูวันที่นี้สิ ผมนึกไม่ออกว่าจะทำยังไงดี

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-07 13:43:32 By : realizejoke
 

 

No. 8



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



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


จะใช้ยังไงเหรอครับ

เอาวันที่ ที่มากที่สุด ก็ใช้ max(t_sikakari.kosin_date)
แต่จากตัวอย่าง state ล่าสุด มันไม่มีวันที่
หรือว่าต้องการวันที่ตาม state ล่าสุดเลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-07 17:04:25 By : fonfire
 

 

No. 9



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



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


Order by DESC ส่วน Select ก็ Top ว่าต้องการเท่าไรแบบนี้ได้ไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-08 08:01:39 By : adminliver
 

 

No. 10



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



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


ตามนี้ครับ น่าจะได้ผล ลองเอาไปรันดู

SELECT * FROM t_sikakari t1
JOIN (SELECT MAX(state) AS state,barcode FROM t_sikakari GROUP BY barcode) t2
ON t1.state=t2.state and t1.barcode=t2.barcode
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-08 16:36:51 By : OOP
 

 

No. 11



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : fonfire เมื่อวันที่ 2017-09-07 17:04:25
รายละเอียดของการตอบ ::
ในตารางของญี่ปุ่นจะมีบอกว่า state ไหนทำวันที่เท่าไรอยู่ครับแต่ละ state มันที่ไม่ตรงกัน พอผมดึง state สูงสุดมาได้แล้วผมอยากได้ วันที่ชอง state นั้นด้วยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-10 06:56:48 By : realizejoke
 

 

No. 12



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



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


อ่านของคุณ oop ก็ได้คำตอบแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-10 11:24:55 By : Chaidhanan
 

 

No. 13



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : OOP เมื่อวันที่ 2017-09-08 16:36:51
รายละเอียดของการตอบ ::
Code (VBScript)
1."SELECT pltdr_no,t_sikakari.sagyomeisai_cd
2.                       FROM t_sagyomeisai
3.                           JOIN (SELECT MAX(sagyonaiyo_cd) as STATE,sagyomeisai_cd FROM t_sikakari GROUP BY sagyomeisai_cd) t2
4.                           ON t_sagyomeisai.sagyomeisai_cd = t2.sagyomeisai_cd
5.                        group by t_sikakari.sagyomeisai_cd,pltdr_no;"

ตารางแบ่งเป็นสองตาราง
ตารางแรกจะมีตัวแทนบาโค๊ด
เช่น
barcode_no barcode
01 TE17080
ส่วนอีกตารางเป็นการบอก State
เช่น
barcode_no State date
01 01 17/08
01 02 17/09
01 03 17/10
01 04 17/11
01 05 17/12
01 06 17/13
ผมต้องการดึง state สูงสุดจากตารางที่สองพร้อมวันที่ ผมพยายามแล้วแต่ก็ไม่ได้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-10 14:56:30 By : realizejoke
 

 

No. 14



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



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


Code (SQL)
01."SELECT t_sagyomeisai.pltdr_no,m_sagyonaiyo.sagyonaiyo_name,m_zaikozuban.zaikozuban,t_sikakari.sikakarist_date,t_sagyomeisai.suryo,t_sagyomeisai.cur_suryo,t_siagekensa.stldr_no,m_seihinjotai.seihinjotai_name
02.                       FROM t_sikakari
03.                           JOIN (SELECT MAX(t_sikakari.sagyonaiyo_cd) as STATE,t_sikakari.sagyomeisai_cd FROM t_sikakari GROUP BY sagyomeisai_cd) t2
04.                           ON t_sikakari.sagyomeisai_cd = t2.sagyomeisai_cd  and  t_sikakari.sagyonaiyo_cd = t2.STATE
05.                           JOIN t_sagyomeisai
06.                           ON t_sikakari.sagyomeisai_cd =  t_sagyomeisai.sagyomeisai_cd
07.                           JOIN m_zaikozuban
08.                           ON t_sagyomeisai.pltzuban_cd = m_zaikozuban.zaikozuban_cd
09.                           JOIN m_sagyonaiyo
10.                           ON t_sikakari.sagyonaiyo_cd = m_sagyonaiyo.sagyonaiyo_cd
11.                           JOIN m_seihinjotai
12.                           ON t_sagyomeisai.seihinjotai_cd = m_seihinjotai.seihinjotai_cd 
13.                           JOIN t_siagekensa
14.                           ON t_sagyomeisai.siagekensa_cd = t_siagekensa.siagekensa_cd
15.                        where  t_sikakari.sakujo_flg = 0
16.                        group by m_sagyonaiyo.sagyonaiyo_name,t_sagyomeisai.pltdr_no,t_sikakari.sikakarist_date,m_zaikozuban.zaikozuban ,t_sagyomeisai.suryo,t_sagyomeisai.cur_suryo,t_siagekensa.stldr_no,m_seihinjotai.seihinjotai_name
17.                        order by t_sagyomeisai.pltdr_no;"



ได้แล้วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-10 15:27:42 By : realizejoke
 

 

No. 15



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

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

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


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-12 16:39:58 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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