หัวข้อ: ต้องการ Select ข้อมูลโดยเลือกแสดงสถานะที่ต้องการ เริ่มหัวข้อโดย: saya559 ที่ 10 กันยายน 2015, 02:20:57 รบกวนสอบถามค่ะ พอดีในฐานข้อมูล มีตารางที่เก็บ Batch 2 รูปแบบคือขึ้นต้นด้วยเลข 2,5 และจะมีสถานะ 1,2,3 ของแต่ละ Batch ค่ะ
สี่งที่ต้องการให้ข้อมูลแสดงคือ ไม่ให้ Batch ที่ 2 แสดงสถานะ 1 แต่คงสถานะอื่นไว้ และ Batch 5 แสดงทั้ง 3 สถานะค่ะ Script ที่เขียน SELECT * FROM [KE_MMS].[dbo].[ETL_MMS2DMS_BATCH_STATUS]with (nolock) where batch_no not in ( select batch_no from ETL_MMS2DMS_BATCH_STATUS with (nolock) where batch_no not like '2%'and Status_Code <> '1' ) and status_code in ('3','2') แต่ปรากฏว่า Batch 5 ไม่ออกมาเลยค่ะ ต้องเพื่มเงื่อนไขอะไรอีกเหรือค่ะ รบกวนด้วยค่ะ :wanwan017: :wanwan017: หัวข้อ: Re: ต้องการ Select ข้อมูลโดยเลือกแสดงสถานะที่ต้องการ เริ่มหัวข้อโดย: jubpas ที่ 10 กันยายน 2015, 08:27:32 SELECT *
FROM [KE_MMS].[dbo].[ETL_MMS2DMS_BATCH_STATUS]with (nolock) where batch_no not in ( select batch_no from ETL_MMS2DMS_BATCH_STATUS with (nolock) where batch_no like '2%'and Status_Code <> '1' ) ไม่ต้องwhere เพิ่ม เพราะจะคงสถานอื่นไว้ และ5 แสดงหมด น่าจะได้ครับ :wanwan044: หัวข้อ: Re: ต้องการ Select ข้อมูลโดยเลือกแสดงสถานะที่ต้องการ เริ่มหัวข้อโดย: ohmohm ที่ 10 กันยายน 2015, 19:00:56 ดูเหมือนจะใช้ Microsoft SQL Server นะครับ
SELECT * FROM [KE_MMS].[dbo].[ETL_MMS2DMS_BATCH_STATUS]with (nolock) where batch_no not in ( select batch_no from ETL_MMS2DMS_BATCH_STATUS with (nolock) where batch_no like '2%' and Status_Code = '1' ) ผมใช้ = 1 หมายความว่า Batch ที่ 2 และสถานะ 1 ให้อยู่ใน sub-query ของพวกที่จะไม่แสดง อันที่จริง ถ้า select แค่ตามที่ถามมา (ไม่เอาไปต่อยอดหรือดัดแปลงอย่างอื่น) ไม่ต้องใช้ sub-query (มี not in) ก็ได้นะครับ |