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

Registered : 108,371

HOME > .NET Framework > Forum > C# WinApp ช่วยคิด SQL ชุดนี้หน่อยครับ ว่าควรเขียนยังไง



 

C# WinApp ช่วยคิด SQL ชุดนี้หน่อยครับ ว่าควรเขียนยังไง

 



Topic : 130768



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



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



1

Code (SQL)
SELECT        Reagent_List.Reagent_List_ID, Reagent_List.Reagent_ID, Reagent_List.Reagent_List_Name_1, Reagent_List.Formula, Reagent_Type.Reagent_Type_1, 
                         Reagent_Grad.Reagent_Grad_1, Reagent_In.Reagent_In_Date, Reagent_In.Reagent_Ex, Reagent_In.Reagent_In_File_1, Reagent_In.Reagent_In_File_2
FROM            Reagent_Grad INNER JOIN
                         Reagent_List ON Reagent_Grad.Reagent_Grad_ID = Reagent_List.Reagent_Grad_ID INNER JOIN
                         Reagent_Type ON Reagent_List.Reagent_Type_ID = Reagent_Type.Reagent_Type_ID LEFT OUTER JOIN
                         Reagent_In ON Reagent_List.Reagent_List_ID = Reagent_In.Reagent_List_ID
WHERE        (Reagent_In.Reagent_Using = 1)



Reagent_In.Reagent_Using = true // สารเคมีอยู่ในสถานะใช้งานอยู่

ทาง user ต้องการเงื่อนไขเพิ่มเติมคือ
ในกรณีที่สารเคมีหมดอายุ และ ไม่ได้ถูกใช้งานแล้วให้ ดึงข้อมูล Reagent_In.Reagent_In_Date(วันรับสารล่าสุดมาโชว์แทน)

สรุปว่า ถ้ามีสารเคมี ซัก 50 กว่าตัว(ตาม Reagent_List.Reagent_List_Name_1)
ก็ให้โชว์ทั้งหมด 50 กว่าตัว
โดยเงื่อนว่าให้โชว์ข้อมูลที่ อยู่ในสถานะใช้งานอยู่ หรือ ข้อมูลล่าสุด เพื่อให้มีข้อมูลครบทั้ง 50 กว่าตัว ครับ



Tag : .NET, Win (Windows App), C#, VS 2012 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-04-05 10:59:55 By : lamaka.tor View : 507 Reply : 8
 

 

No. 1

Guest


มีสถานะอิหยังบอกว่าหมดอายุแล้วกับบ่ได้ใช้แล้ว บ่ครับผม ถ้ามีใช้ case when โลด
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-05 16:43:07 By : บัญดิษฐ
 


 

No. 2



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : บัญดิษฐ เมื่อวันที่ 2018-04-05 16:43:07
รายละเอียดของการตอบ ::
มันเป็นจังสิเด้อครับ
สารเคมีผมมี 31 รายการครับ

1

พอผมเอาตารางการ เบิกใช้ ซึ่งมันก็จะมี วันรับ/วันหมดอายุ/สถานะที่ว่าใช้งานอยู่หรือเลิกใช้งานแล้ว
ปรากฎว่ามันออกมาแค่ 16 รายการ
11

User อยากให้ มันแสดงทั้ง 31 รายการ โดยที่เงื่อนไขคือ ดึงรายการที่ใช้งานอยู่ หรือ รายการล่าสุดออกมาให้มันครบ 31 รายการครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-05 17:02:50 By : lamaka.tor
 

 

No. 3



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



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : lamaka.tor เมื่อวันที่ 2018-04-05 17:02:50
รายละเอียดของการตอบ ::
left join เอาครับผม ถ้า inner join จะบ่ได้ ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-05 17:17:28 By : บัญดิษฐ
 


 

No. 4



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



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

ตอบความคิดเห็นที่ : 3 เขียนโดย : บัญดิษฐ เมื่อวันที่ 2018-04-05 17:17:28
รายละเอียดของการตอบ ::
ลองแล้วครับ

3

แต่พอเราเพิ่ม
Code (SQL)
WHERE (Reagent_In.Reagent_Using = 1)

มันก็ตัดไปเลยครับ

13

มันน่าจะมีเงื่อนไขที่สามารถระบุได้ว่า
ในกรณีที่ Reagent_ID ไม่มี หรือไม่พบว่า Reagent_Using = 1
ให้เอา แถวล่าสุดที่ของ Reagent_ID มาใช้


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-05 17:29:01 By : lamaka.tor
 


 

No. 5



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



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

หรือว่าพอจะมีวิธีที่จะออกแบบตารางใหม่ หรือ เพิ่มตารางใหม่ เพื่อรองรับเงื่อนไขที่ว่าไม๊ครับ

คือ สารเคมี มี 31 รายการ เวลา เราแสดงรายการจะต้องมี 31 แถวตลอด
โดย
เงื่อนไขแรกคือ ในกรณีที่ Reagent_ID หรือรายชื่อสารเคมี นั้นๆ Reagent_Using = 1 หรือ อยู่ในสถาณะใช้งานก็ให้ดึงตัวนั้นมา
หรือหาก Reagent_Using = 0 หมด ก็ให้เลือกตัวล่าสุดมา

เช่น

Cadmium มีทั้งหมด 3 ขวด ก็ให้เลือก ขวดที่ Reagent_Using = 1 มา
หากพบว่า Cadmium 3 ขวดนั้นไม่พบว่า มีขวดที่ Reagent_Using = 1
ให้ดึงขวดที่ใช้งานล่าสุด มา

พูดง่ายๆคือยังไงก็ต้องมี 31 แถว เสมอครับ
ถ้าต้องแก้ไข หรือเพิ่มตาราง ก็ได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-05 17:36:47 By : lamaka.tor
 


 

No. 6



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



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

บ่ต้องครับผม แค่นี้กะสามารถ Query ออกได้ครับผม เคยทำ sup query บ่ง่ายมาก แต่มื่อนี้บ่มีเวลาครับ
เตรียมตัวกลับ LA

ประมาณนี้เด้อครับ

select rl.id,(select max(Reagent_In_Date) from Reagent_In s where s.id = rl.id)
from Reagent_List rl
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-05 17:45:21 By : บัญดิษฐ
 


 

No. 7



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



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

ตอบความคิดเห็นที่ : 6 เขียนโดย : บัญดิษฐ เมื่อวันที่ 2018-04-05 17:45:21
รายละเอียดของการตอบ ::
ผมอยู่โพธิ์ชัย ว่างๆไปเที่ยวบุญบั้งไฟเด้อ ท่าน

ส่วน sup query เฮ็ดจังใด๋ จังบ่ติดเวลาเฮาเอามารวมกับ Reagent_Using = 1 ละครับ



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-05 17:56:46 By : lamaka.tor
 


 

No. 8

Guest


Select case when tin.id is not null then tin.date else
(Select max() .....) end
From tlist
Left join tin on tlist.id=tin.id
And tin.using=1
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-05 18:27:02 By : ^^
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : C# WinApp ช่วยคิด SQL ชุดนี้หน่อยครับ ว่าควรเขียนยังไง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม , รับทำบัญชี , โรงงานผลิตครีม , สำนักงานบัญชี , รับจดทะเบียนบริษัท , Pangpond , รถมือสอง

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