อยากสร้างเงื่อนไขในการเลือก Column

เกี่ยวกับ ปัญหาการใช้งาน การติดตั้ง ฐานข้อมูล MySql Oracle MSSQL ect...
การเขียน คำสั่ง SQL เพื่อดึกข้อมูล บอร์ดนี้ควรระบุโครงสร้างตารางของท่านในคำถามด้วยนะ

Moderator: mindphp

gtc-it@goshu.co.th

อยากสร้างเงื่อนไขในการเลือก Column

โพสต์โดย gtc-it@goshu.co.th » 29/06/2018 12:03 pm

ที่ตาราง1 (TB1) โดยมี Column (Col) ทั้งหมด 12 Column โดยต้องการเลือก Column ตามเงื่อนไขดังนี้
ถ้าตัวแปร (@Val1) เป็น A ให้เรียกข้อมูลที่ Column [1,2,3,4,5] โดยให้ 5 เป็น Spe1, และนำค่าตัวแปรไปห้อยท้ายในทุก ๆ Row (Record) โดยกำหนดเป็น Spe2
โดยที่ Col8 ต้องมีค่าเป็น 0 และ Col5 มีค่ามากกว่า 0
ถ้าตัวแปรเป็น B ให้เรียกข้อมูลที่ Column [1,2,3,4,6] โดยให้ 6 เป็น Spe1, และนำค่าตัวแปรไปห้อยท้ายในทุก ๆ Row เหมือนข้างบน
โดยที่ Col9 ต้องมีไม่ใช่ค่าว่าง และ Col10 ต้องมีค่าเป็น 0

จากความต้องการข้างต้นเขียนออกแบบด้านล่าง ซึ่งไม่ผ่าน เพราะเขียนผิดไวยกรณ์ อยากให้ช่วยดูให้หน่อยครับ ว่าต้องแก้ไขตรงไหนได้บ้าง

DECLARE @Val1 varchar(1);
SET @Val1 = 'A';
SELECT TB1.Col1, TB1.Col2, TB1.Col3, TB1.Col4,
CASE
WHEN @Val1 = ‘A’ THEN TB1.Col5 as Spe1,
WHEN @Val1 = ‘B’ THEN TB1.Col6 as Spe1,
ELSE TB1.Col7 as Spe1,
END
@Val1 AS Spe2
FROM TB1
WHERE CASE
WHEN @Val1 = ‘A’ THEN (TB1.Col8 = '0')and (TB1.Col5 > 0)
WHEN @Val1 = ‘B’ THEN (TB1.Col9 is not null) and (TB1.Col10 = '0')
ELSE (TB1.Col11 is not null) and (TB1.Col12 = ‘0’)
END
ORDER BY TB1.Col4

ขอบคุณครับ

  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 4 และ บุคคลทั่วไป 0 ท่าน