关于SQL查询前提前加入一行

来源:百度知道 编辑:UC知道 时间:2024/06/01 05:48:06
我的company表有3条数据
01 公司a
02 公司b
03 公司c

我想通过SQL语句使得显示出来的时候在前面加上一行
例如:
00 公司全部
01 公司a
02 公司b
03 公司c

是不是要汇总?如,求公司个数?将汇总结果加入到首行这样:
(设第一个字段名为ID,第二个字段名为CompName)
select ID,CompName from
(
SELECT ID='00','公司全部(共'+convert(varchar,count(1))+'个)' as CompName,0 as sn FROM COMPANY
union select id,comname,1 as sn from company
) as a order by sn,id

当然,您如果能保证ID象您写的这样简单,规范,就可以不加那个排序字段SN,从而省了一级子查询:
SELECT ID='00','公司全部(共'+convert(varchar,count(1))+'个)' as CompName,0 as sn comname FROM COMPANY
union select id,comname,1 as sn from company order by id

呵呵,这个使用union或union all将多个查询结果连接起来就可以了,
现在第一个查询结果是固定的,就是00 公司全部 ,
就是使用select '00' as 编号,'公司全部' as 公司名称 来表示,
最终的SQL语句如下:
select '00' as 编号,'公司全部' as 公司名称 union
select 编号,公司名称 from company order by 编号
呵呵,希望能有帮助,^_^

假定company表列名为id,name
select '00' as id,'公司全部' as name union
select id,name from company order by id

select '00','公司全部'