ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingต้องการ Select ข้อมูลโดยเลือกแสดงสถานะที่ต้องการ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ต้องการ Select ข้อมูลโดยเลือกแสดงสถานะที่ต้องการ  (อ่าน 581 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
saya559
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 8



ดูรายละเอียด
« เมื่อ: 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
บันทึกการเข้า
jubpas
คนรักเสียว
*

พลังน้ำใจ: 14
ออฟไลน์ ออฟไลน์

กระทู้: 107



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 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
บันทึกการเข้า

ohmohm
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 170
ออฟไลน์ ออฟไลน์

กระทู้: 3,098



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 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) ก็ได้นะครับ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์