browse by category or date

Let say you want to create a on-the-fly table which fetch the list of users with certain properties. The problem with the users is that, some of them is without any properties. Instead of displaying blank, you want to display ‘—-‘. Since you want to do this on the fly, not by modifying the table. These infos will come handy.

Simply using UNION will help you to achieve above problem. Meta-SQL :

Select User,Properties 
From Users where Properties <> Null 
Union 
Select User, '----' as Properties 
From users 
where User not in 
(Select User from Users where Properties <> Null)

In IIS, this will throw you Collation error if you Users table is encoded in UTF8, the Properties value of ‘—-‘ will be encoded in Latin. Thus, it will throws you collation error.

In order to convert the ‘—-‘ encoded as UTF8, you must use _utf8 as prefix of your string. Eq: _utf8′—-‘ instead of only ‘—-‘

GD Star Rating
loading...

About Hardono

Howdy! I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 11 years.

Possibly relevant:

Communicating with higher management always require tactics and tricks. Today, after making my own mistake, my manager-Ms. Judy reminded me a very good principle. Which is ..

‘Less is more’

Reporting to higher management doesn’t require us to explain all the details, we must be able to tailor the content of our report so it won’t go too much into details. Always only provide summary of the information unless they explicitely require you to go into details.

Another positive thing for giving less information is that you will cover yourself from unnecessary questioning. Sometime the details are too distracting, our boss will forget the general picture of the problem. Thus, he/she will only comments about the details without ever address the main issue.

But this doesn’t mean we dont prepare the details, we do prepare them, but only will shown them if its required.

Thanks Ms. Judy Koh =)

GD Star Rating
loading...

About Hardono

Howdy! I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 11 years.

Today i did some programming to help Budi catering JSML’s requests. At one point, I needed to have an aggregate function for varchar data type. I immediately remember ‘GROUP_CONCAT’, but hey … thats MySQL. Skimming through the MS SQL Book Online, I couldn’t find any function that could do what MySQL’s GROUP_CONCAT does.

Like any mere mortals would do, I asked Google. After Googling for 5 minutes, i think I found what i need …

These are the snippets:

create table table1([id] int identity,
names varchar (50),
groupname varchar (50))

insert into table1(Names, GroupName)

select 'name1', 'group1'union
select 'name2', 'group2'union
select 'name3', 'group1'

create function concatname(@GroupName varchar(50))
Returns varchar(250)
as
BEGIN
Declare @String varchar(250)

Select @String = Coalesce(@String,'') + Names + ','
from table1
where groupName = @GroupName

set @String = left(@String, len(@String) -1)
Return @String
END

After trial and error for a couple times, i come up with my
own solution to the problem:

create function SCROverallStatus(@thelog_uid int)
returns varchar(50)
as
begin
 if (select count(*) from LMB_SML_PROC_SCR_APPROVAL where approval_level=1 and status='Approved' and log_uid=@thelog_uid)>=2
 begin
  return 'Approved'
 end
 
 if (select count(*) from LMB_SML_PROC_SCR_APPROVAL where approval_level=1 and status='Rejected' and log_uid=@thelog_uid)>=1
 begin
  return 'Rejected'
 end
 
 return 'Pending'
end
GD Star Rating
loading...

About Hardono

Howdy! I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 11 years.