SQL - Add negative sign if matlfer.xtype = 'INVSUB'

 SELECT 
        CASE matlxfer.xtype
          WHEN 'ADDINV' THEN '552'
          WHEN 'INVSUB' THEN '551'
        END AS ADJUSTMENT ,
             matlxfer.xfer_qty 

Open in new window


Add negative sign if matlfer.xtype = 'INVSUB'
Data

 matlfer.xtype matlxfer.xfer_qty
ADDINV   1
INVSUB  2
ADDINV 3
INVSUB  4

Open in new window


Our database doesn't have negatives, but I need to send data with them and i've tried variables and other things, but none have worked as I wanted.  Basically I need it to show as this.

matlxfer.xfer_qty
1
-2
 3
-4

Open in new window


Thanks
gpsdhAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Jim HornConnect With a Mentor Microsoft SQL Server Developer, Architect, and AuthorCommented:
That would be another CASE block that refers to xtype..
SELECT 
   CASE matlxfer.xtype WHEN 'ADDINV' THEN '552' WHEN 'INVSUB' THEN '551' END AS ADJUSTMENT,
   CASE matlfer.xtype WHEN 'INVSUB' THEN -1 * matlxfer.xfer_qty ELSE matlxfer.xfer_qty  END as xfer_qty 

Open in new window

0
 
gpsdhAuthor Commented:
That works!  Thanks!
0
 
Jim HornMicrosoft SQL Server Developer, Architect, and AuthorCommented:
btw I have an article out there on SQL Server CASE Solutions that has a wompload of CASE examples.  Hit the 'Yes' button if it helps you out.

Thanks for the grade.  Good luck with your project.  -Jim
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.