sql server 列转行的语法问题

我有个订单表,字段如下:

订单ID 买家ID 买家手续费 卖家ID 卖家手续费

现在我要转成
订单ID 买/卖 用户ID 手续费

不考虑union的话,sql语法如何效率的实现?

你这表中没有用户id,我就不写了,语句也没运行过,手写的
select
dingdanid,
if(买家id = '',卖家id,买家id) AS maimaiid,
if(买家手续费=‘’,卖家手续费,买家手续费) as 手续费
from dingdan

有个问题就是卖家id和买家id同一条数据必须为一个有值,一个为‘’,手续费也是
当然,用子语句查询我感觉可以写出更好的,但是没表,暂时没想到怎么写,
另外,个人觉得你这个表结构有问题

![图片说明](https://img-ask.csdn.net/upload/201711/30/1512031960_226671.png)图片说明
反正不知道你是什么数据库,id用的都是varchar,手续费是int

图片说明