sql server - Data result should appear on one column -
i self learner in sql; have created code:
select t0.[cardname], t0.[docdate], t0.[docduedate], t2.[u_expdeldate], t0.[docstatus], t1.[slpname], case when datediff(day,docduedate,t2.[u_expdeldate]) <= 0 'delivered' when datediff(day,docduedate,t2.[u_expdeldate]) >= 0 'please check' else null end 'status', datediff(day,docduedate,t2.[u_expdeldate]) 'age' opor t0 inner join oslp t1 on t0.[slpcode] = t1.[slpcode] inner join por1 t2 on t0.[docentry] = t2.[docentry] t0.[docstatus] ='o' , t2.[u_expdeldate] not null
i getting right result, wanted join result delivered , please check
in age column
.
do have idea?
concatenating strings in sql server done either using +
operator or concat
method.
try this:
select t0.[cardname], t0.[docdate], t0.[docduedate], t2.[u_expdeldate], t0.[docstatus], t1.[slpname], case when datediff(day,docduedate,t2.[u_expdeldate]) <= 0 'delivered ' when datediff(day,docduedate,t2.[u_expdeldate]) > 0 'please check ' + cast(datediff(day,docduedate,t2.[u_expdeldate]) varchar) end 'age' opor t0 inner join oslp t1 on t0.[slpcode] = t1.[slpcode] inner join por1 t2 on t0.[docentry] = t2.[docentry] t0.[docstatus] ='o' , t2.[u_expdeldate] not null
i've removed else
part since it's never going there, datediff
function either return value less or equal 0 or more 0.
Comments
Post a Comment