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

HOME > กระทู้สำหรับภาษาต่าง ๆ > [Microsoft SQL Server 2008 R2] สอบถามเกี่ยวกับคำสั่ง SQL ครับ [การบวกระหว่างคอลัม]



[Microsoft SQL Server 2008 R2] สอบถามเกี่ยวกับคำสั่ง SQL ครับ [การบวกระหว่างคอลัม]

 
Topic : 102799



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



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



sql01

จากรูปครับ ผมใช้ CASE เพื่อใช้แยกข้อมูลตัวเลขจากคอลัม DEF ให้แยกเป็นสองคอลัมซ็ายขวา(NUM1,NUM2) โดยใช้ TYPE_REF หากเป็น 1 ไป NUM1 หาก TYPE_REF เป็น 0 ไป NUM2

คำสั่งครับ
SELECT NUM_NO,TYPE_REF,
CASE TYPE_REF WHEN '1' THEN NUM1 WHEN '0' THEN '0' END AS NUM1,
CASE TYPE_REF WHEN '0' THEN NUM1 WHEN '1' THEN '0' END AS NUM2,
NUM1 AS DEF
FROM NUM_TABLE
INNER JOIN CASE_TABLE
ON NUM_NO = CASE_NO


ผมต้องการจะนำ NUM1 + NUM2 มาเป็นผลรวมอีกคอลัมหนึ่งชื่อ TOTAL จึงคิดว่าใช้การบวกกันแบบปกติ ผลปรากฏว่า..

sql02

มันมองไม่เห็น NUM2 ซึ่งผมได้ตั้งชื่อตอนแยกคอลัมเพื่อใช้อ้างอิงเป็น NUM1 และ NUM2 แล้ว(ตรงส่วนนี้ไม่รู้ว่าสามารถใช้ได้แบบปกติหรือไม่ครับ กำลังศึกษาการใช้ CASE อยู่)

มีวิธีใดบ้างครับที่จะสามารถทำการบวกทั้งสองคอลัมดังกล่าวเป็นคอลัมใหม่ชื่อ TOTAL ได้ครับ

ขอบพระคุณมากครับ (>/\ < )

พึ่งค้นพบวิธีแก้รีพอร์ตเจ้าปัญหากระทู้ก่อนๆของผมละ แก้อย่างไรเข้าไปอ่านได้ที่
https://www.thaicreate.com/dotnet/forum/102734.html

ผิดหมวดขออภัยครับ ผมไม่ทราบว่าหมวดเกี่ยวกับ SQL อยู่มุมไหน (= =" )

คิวรี่สร้างตารางครับ
USE [testDB]
GO
/****** Object: Table [dbo].[NUM_TABLE] Script Date: 11/18/2013 21:43:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[NUM_TABLE](
[NUM_NO] [varchar](10) NULL,
[NUM1] [int] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[CASE_TABLE] Script Date: 11/18/2013 21:43:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CASE_TABLE](
[CASE_NO] [varchar](10) NULL,
[TYPE_REF] [varchar](50) NULL,
[CASE_NUM] [int] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO




Tag : Ms SQL Server 2008




ประวัติการแก้ไข
2013-11-18 21:36:00
2013-11-18 21:38:42
2013-11-18 21:45:25
2013-11-18 21:45:57
2013-11-18 22:42:58
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-11-18 21:35:05 By : cruzercruz View : 1832 Reply : 1
 

 

No. 1



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



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


sql03

ไปครับ ประเดิมคนแรกเลยแล้วกัน

จับวงเล็บครอบซะ
SELECT NUM_NO,TYPE_REF,
CASE TYPE_REF WHEN '1' THEN NUM1 WHEN '0' THEN NUM1 END AS NUM1,
CASE TYPE_REF WHEN '0' THEN NUM1 WHEN '1' THEN NUM1 END AS NUM2,

(CASE TYPE_REF WHEN '1' THEN NUM1 WHEN '0' THEN NUM1 END) +
(CASE TYPE_REF WHEN '0' THEN NUM1 WHEN '1' THEN NUM1 END) AS TOTAL, /*<-----<<*/

NUM1 AS DEF
FROM NUM_TABLE
INNER JOIN CASE_TABLE
ON NUM_NO = CASE_NO


นะครับผม...

หลัง THEN นั้นแล้วแต่ท่านๆจะอยากใส่ค่าอะไรก็ตามใจครับ ยังไงคอลัม NUM1 และ NUM2 ไว้สำหรับแสดงค่าเฉยๆ รวมจริงๆเป็นคอลัม TOTAL ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-18 22:04:46 By : cruzercruz
 


   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : [Microsoft SQL Server 2008 R2] สอบถามเกี่ยวกับคำสั่ง 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: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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