如何把列名显示为查询结果的第一行?

niuzhouhai 2012-07-31 01:16:14
在sql server 查询分析器中,执行sql 查询语句,当然会在网格中显示列名,但我想在查询结果中显示列名怎么办?

如下图所示,查询结果列cat_id和c_contacter的列名是显示在查询分析器中的,就是红色框部分,但我想显示在结果集中,即蓝色框部分,和下面的结果集是一个在一起的集合,怎么办?


不知道我说的是否清楚,也就是说,红色框部分是查询分析器显示的,但我想在下面的结果集就是蓝色框中也显示这个列名,怎么办?
...全文
700 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
niuzhouhai 2012-07-31
  • 打赏
  • 举报
回复
现在的执行结果如下:


[Quote=引用 13 楼 的回复:]

SQL code

--这样呢?如果不行请楼主给出测试数据
select 'cat_id','c_contacter' from customer
union
select top 10 ltrim(cat_id),c_contacter from customer
[/Quote]
niuzhouhai 2012-07-31
  • 打赏
  • 举报
回复
数据如下:


CREATE TABLE [customer] (
[cat_id] [int] NOT NULL,
[c_id] [int] NOT NULL,
[c_name] [varchar] (250) NOT NULL,
[c_password] [varchar] (20) NOT NULL,
[c_state] [varchar] (20),
[c_province] [varchar] (20),
[c_city] [varchar] (20),
[c_addr] [varchar] (8000),
[c_corporation] [varchar] (250),
[c_fund] [varchar] (20),
[c_brand] [varchar] (30),
[c_year] [varchar] (10),
[c_month] [varchar] (10),
[c_type] [varchar] (20),
[c_product] [varchar] (250),
[c_contacter] [varchar] (250),
[c_phone] [varchar] (20),
[c_fax] [varchar] (20),
[c_postcode] [varchar] (6),
[c_email] [varchar] (250),
[c_web] [varchar] (250),
[c_desc] [varchar] (8000),
[c_date] [datetime] NOT NULL,
[checked] [int],
[c_company] [varchar] (250),
[c_logo] [varchar] (250),
[c_pic] [varchar] (250),
[c_maillist] [int] NOT NULL,
[c_bgphoto] [varchar] (250) NOT NULL,
[c_menu] [varchar] (10) NOT NULL,
[company_code] [varchar] (250),
[en_name] [varchar] (250),
[tax_no] [varchar] (250),
[en_address] [varchar] (8000),
[cn_fa_ren] [varchar] (200),
[en_fa_ren] [varchar] (200),
[fa_ren_sex] [varchar] (1),
[hand_phone] [varchar] (15),
[register] [varchar] (12),
[en_desc] [varchar] (8000),
[grade1] [varchar] (20),
[grade2] [varchar] (20),
[grade3] [varchar] (20),
[grade] [varchar] (20),
PRIMARY KEY([c_name])
)
GO

INSERT INTO [customer] ([cat_id],[c_id],[c_name],[c_password],[c_state],[c_province],[c_city],[c_addr],[c_corporation],[c_fund],[c_brand],[c_year],[c_month],[c_type],[c_product],[c_contacter],[c_phone],[c_fax],[c_postcode],[c_email],[c_web],[c_desc],[c_date],[checked],[c_company],[c_logo],[c_pic],[c_maillist],[c_bgphoto],[c_menu],[company_code],[en_name],[tax_no],[en_address],[cn_fa_ren],[en_fa_ren],[fa_ren_sex],[hand_phone],[register],[en_desc],[grade1],[grade2],[grade3],[grade])
VALUES ('1','770',' nfbook','nfbook','CN','北京',NULL,'北京市丰台区',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'南风','13426127900',NULL,'100072','nanfengbook@163.com','http://','各个专业类新书、特价图书批发装备!','2008-4-17 15:52:17','2','北京南风文化发展有限公司',NULL,NULL,'0','bg1s.gif','#1967E7',NULL,NULL,'420106728299322',NULL,'南风','nanfeng','M','13426127900',NULL,NULL,NULL,NULL,NULL,NULL)
INSERT INTO [customer] ([cat_id],[c_id],[c_name],[c_password],[c_state],[c_province],[c_city],[c_addr],[c_corporation],[c_fund],[c_brand],[c_year],[c_month],[c_type],[c_product],[c_contacter],[c_phone],[c_fax],[c_postcode],[c_email],[c_web],[c_desc],[c_date],[checked],[c_company],[c_logo],[c_pic],[c_maillist],[c_bgphoto],[c_menu],[company_code],[en_name],[tax_no],[en_address],[cn_fa_ren],[en_fa_ren],[fa_ren_sex],[hand_phone],[register],[en_desc],[grade1],[grade2],[grade3],[grade])
VALUES ('1','1057','0519cjn','520891','CN','江苏省溧阳市',NULL,'江苏省溧阳市清溪路56号',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'陈江南','051987802048',NULL,'213357','0519cjn@163.com','http://www.jshuaneng.cn','一般经营项目:装、电气、仪表设备安装调试;金属结构件、空油设备管道安装;凭资质证书承接土建及装饰装潢工程、人员。','2008-7-12 11:22:06','2','江苏华能建设工程集团有限公司',NULL,NULL,'0','bg1s.gif','#1967E7',NULL,NULL,'3204812101312','jiangsusheng liyangshi qingxilu 56hao','宋小华','SONG XIAO HUA','M','15851915051',NULL,'(wu)',NULL,NULL,NULL,NULL)
INSERT INTO [customer] ([cat_id],[c_id],[c_name],[c_password],[c_state],[c_province],[c_city],[c_addr],[c_corporation],[c_fund],[c_brand],[c_year],[c_month],[c_type],[c_product],[c_contacter],[c_phone],[c_fax],[c_postcode],[c_email],[c_web],[c_desc],[c_date],[checked],[c_company],[c_logo],[c_pic],[c_maillist],[c_bgphoto],[c_menu],[company_code],[en_name],[tax_no],[en_address],[cn_fa_ren],[en_fa_ren],[fa_ren_sex],[hand_phone],[register],[en_desc],[grade1],[grade2],[grade3],[grade])
VALUES ('1','649','07cdzb','0707cdzb','CN','重庆',NULL,'重庆市高新区科园二路137号申基索菲特A座24楼',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'中兵','68159447',NULL,'400050','07cdzb@vip.sina.com','http://','钢材','2008-3-29 11:47:52','2','成都中兵贸易有限公司重庆分公司',NULL,NULL,'0','bg1s.gif','#1967E7',NULL,NULL,'500107747498206',NULL,'廖代君','Liao daijun','M',NULL,NULL,NULL,NULL,NULL,NULL,NULL)
INSERT INTO [customer] ([cat_id],[c_id],[c_name],[c_password],[c_state],[c_province],[c_city],[c_addr],[c_corporation],[c_fund],[c_brand],[c_year],[c_month],[c_type],[c_product],[c_contacter],[c_phone],[c_fax],[c_postcode],[c_email],[c_web],[c_desc],[c_date],[checked],[c_company],[c_logo],[c_pic],[c_maillist],[c_bgphoto],[c_menu],[company_code],[en_name],[tax_no],[en_address],[cn_fa_ren],[en_fa_ren],[fa_ren_sex],[hand_phone],[register],[en_desc],[grade1],[grade2],[grade3],[grade])
VALUES ('1','1039','170779845','598633159','CN','江苏省宜兴市',NULL,'江苏省宜兴市万石工业园区',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'余国强','0510-87816586',NULL,'214212','ygq-005@163.com','www.Jcoc.cn','环保工程的施工、安装统、商品和技术除外)','2008-7-9 10:42:27','2','江苏金山环保工程集团有限公司',NULL,NULL,'0','bg1s.gif','#1967E7',NULL,NULL,'320282752749217',NULL,'钱盘生','Qian pan sheng','M','13961580653',NULL,NULL,NULL,NULL,NULL,NULL)
INSERT INTO [customer] ([cat_id],[c_id],[c_name],[c_password],[c_state],[c_province],[c_city],[c_addr],[c_corporation],[c_fund],[c_brand],[c_year],[c_month],[c_type],[c_product],[c_contacter],[c_phone],[c_fax],[c_postcode],[c_email],[c_web],[c_desc],[c_date],[checked],[c_company],[c_logo],[c_pic],[c_maillist],[c_bgphoto],[c_menu],[company_code],[en_name],[tax_no],[en_address],[cn_fa_ren],[en_fa_ren],[fa_ren_sex],[hand_phone],[register],[en_desc],[grade1],[grade2],[grade3],[grade])
VALUES ('1','1242','215648320','119119','CN','江苏',NULL,'盐城市响水县县城长江路126号',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'张家国','0515-86699110',NULL,'224600','zhangjiaguo5211@163.com','http://','五金,船舶配件','2008-8-17 16:02:44','2','响水县宏洲贸易有限公司',NULL,NULL,'0','bg1s.gif','#1967E7',NULL,NULL,'32092119821018',NULL,'张家国','jiaguozhang','M','13505109857',NULL,NULL,NULL,NULL,NULL,NULL)



[Quote=引用 13 楼 的回复:]

SQL code

--这样呢?如果不行请楼主给出测试数据
select 'cat_id','c_contacter' from customer
union
select top 10 ltrim(cat_id),c_contacter from customer
[/Quote]
niuzhouhai 2012-07-31
  • 打赏
  • 举报
回复
这个可以了,但列名放到在最后一行,如果能放在第一行就好了,可以做到吗?

[Quote=引用 13 楼 的回复:]

SQL code

--这样呢?如果不行请楼主给出测试数据
select 'cat_id','c_contacter' from customer
union
select top 10 ltrim(cat_id),c_contacter from customer
[/Quote]
--小F-- 2012-07-31
  • 打赏
  • 举报
回复

--这样呢?如果不行请楼主给出测试数据
select 'cat_id','c_contacter' from customer
union
select top 10 ltrim(cat_id),c_contacter from customer
niuzhouhai 2012-07-31
  • 打赏
  • 举报
回复
吧order 不要拿掉能执行,但执行结果变成了735条

[Quote=引用 11 楼 的回复:]

引用 10 楼 的回复:
消息 104,级别 16,状态 1,第 3 行
如果该语句包含 UNION、INTERSECT 或 EXCEPT 运算符,则 ORDER BY 项必须出现在选择列表中。



引用 8 楼 的回复:

SQL code
select 'cat_id','c_contacter' from customer
union all
select top……
[/Quote]
koumingjie 2012-07-31
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
消息 104,级别 16,状态 1,第 3 行
如果该语句包含 UNION、INTERSECT 或 EXCEPT 运算符,则 ORDER BY 项必须出现在选择列表中。



引用 8 楼 的回复:

SQL code
select 'cat_id','c_contacter' from customer
union all
select top 10 ltrim(cat_id……
[/Quote]

注意类型转换,把order by 去掉
niuzhouhai 2012-07-31
  • 打赏
  • 举报
回复
消息 104,级别 16,状态 1,第 3 行
如果该语句包含 UNION、INTERSECT 或 EXCEPT 运算符,则 ORDER BY 项必须出现在选择列表中。


[Quote=引用 8 楼 的回复:]

SQL code
select 'cat_id','c_contacter' from customer
union all
select top 10 ltrim(cat_id),c_contacter from customer order by newid()
[/Quote]
niuzhouhai 2012-07-31
  • 打赏
  • 举报
回复
我在说的清楚一点,我这条查询语句的查询结果正常是10条记录,那么现在多插入一行列名显示之后,就显示总共11条记录啊,不会有那么多的查询结果的
--小F-- 2012-07-31
  • 打赏
  • 举报
回复
select 'cat_id','c_contacter' from  customer 
union all
select top 10 ltrim(cat_id),c_contacter from customer order by newid()
niuzhouhai 2012-07-31
  • 打赏
  • 举报
回复
查询结果显示690行呀,不对呀

[Quote=引用 3 楼 的回复:]

SQL code
select cat_id,c_contacter from customer
union
select top 10 convert(varchar,cat_id) as cat_id,convert(varchar,c_contacter) as c_contacter from customer


需要转换成同类型.
[/Quote]
niuzhouhai 2012-07-31
  • 打赏
  • 举报
回复
执行你这段代码之后查询结果显示735行呀

[Quote=引用 4 楼 的回复:]

SQL code
select 'cat_id','c_contacter' from customer
union all
select top 10 ltrim(cat_id),c_contacter from customer
[/Quote]
niuzhouhai 2012-07-31
  • 打赏
  • 举报
回复
这样的话结果集中多了一大堆别的查询结果啊,我刚刚试了
而且我想要在程序中执行,不是在查询分析器中执行,关键在这里,否则就不用显示了,查询分析器已经帮我显示了,请看2楼我的描述

[Quote=引用 1 楼 的回复:]

SQL code

--以网格显示可以用这样的方式
select cat_id,c_contacter from customer
union
select top 10 cat_id,c_contacter from customer


--以文本显示,可以是LZ所说结果
[/Quote]
--小F-- 2012-07-31
  • 打赏
  • 举报
回复
select 'cat_id','c_contacter' from  customer 
union all
select top 10 ltrim(cat_id),c_contacter from customer
Mr_Nice 2012-07-31
  • 打赏
  • 举报
回复
select cat_id,c_contacter from customer
union
select top 10 convert(varchar,cat_id) as cat_id,convert(varchar,c_contacter) as c_contacter from customer


需要转换成同类型.
niuzhouhai 2012-07-31
  • 打赏
  • 举报
回复
换句话说,就是在查询结果集的第一行前面,插入列名显示,由于我是要在网页上显示这个执行结果,而查询语句又是动态变化的,不方便在程序中写列名,如果能在sql中直接实现就更好了.
Mr_Nice 2012-07-31
  • 打赏
  • 举报
回复

--以网格显示可以用这样的方式
select cat_id,c_contacter from customer
union
select top 10 cat_id,c_contacter from customer


--以文本显示,可以是LZ所说结果


在sqlplus环境中,以HR用户(模式)使用数据库,在此用户下回 答下列问题(手写所有问题的答案并上交): 1. 在未知HR用户 密码的情况下,如何以HR用户的身份登录到数据库中? 2. 以HR 用户登录到数据库后,如何列出HR用户(模式)拥有那些数据表? 3. 如何查看EMPLOYEES数据表的结构? 4. 如果要求在sqlplus 中以下列要求显示数据列,该如何实现,写出相应格式化命令。 a)EMPLOYEE_ID列相对于列宽右对齐显示列名“员工编号”,并 在显示编号时以4位数 字显示,当不足4位数字时,前端以添加0 补齐。 b)SALARY列要求所有值均显示两位小数(如果是整数也 显示两位小数00),并在头位 数字前显示本地货币符号“¥” 5. 设置sqlplus页宽为200字符,页高为100行,应使用什么 sqlplus命令实现? 6. 如何查看当前用户是什么数据库用户? 7. 如何将第4、5题中的格式操作命令保留下来,并在今后每次使 用sqlplus登录数据库后都 自动执行进行设置?写出操作过程 8. 编写脚本QueryJobHisByDept.sql,此脚本的执行结果是显示由用 户指定某部门中进行职位 变动的次数为用户指定次数的职员姓名 等相关信息。脚本的运行步骤要求如下(请注意,在 最后还有对 结果显示的额外要求,请自行确定在何处使用何种命令实现相应 要求): 1.清除所有column指令设置的格式设置 2. 取消对于替 换变量进行验证显示的选项(提示:verify环境变量)3. 设置 employee_id 列的显示列名“员工编号” 4. 设置employee_name 列的显示列名为“员工姓名” 5. 设置JobName列的显示列名为“ 现任职位” 6. 设置Salary列的显示列名为“薪金”,并设置在数 字前显示字符“$”符号 7. 设置Department列的显示列名为“工 作部门” 8. 设置Country_Name列的显示列名为“所在国家” 9. 设置页宽为200,页高为150 10. 显示“请输入部门名称:”,并 接受用户的输入 11. 显示“需要参数已设置,请按键继 续” 12. 等待用户按Enter键,待用户按下Enter键后继续下面的 操作 13. 查询由用户指定的部门中的员工信息,包括职员编号( 列名为employee_id,来源于 Employees表)、职员姓名(列名为 employee_name,来源于Employees表,由First_name 和 Last_name拼接形成,First_Name和Last_Name之间使用“,”符号 分隔)、员工的 职位(列名为JobName,来源于Jobs表)、员工 的薪金(列名为Salary,来源于Employees 表)、员工所在部门 名称(列名为department,来源于Departments表的 Department_name 列),员工所在国家(列名为Country_name, 来源于countries表的Country_name列), 要求按照员工姓名升 序排列。 额外要求: 1. 对于具有相同的职员姓名的临近多个数据行,只 显示第一个数据行的职员姓名 2. 最终在脚本中形成的查询语句 以及查询结果保存到“c:\queryResult.txt”文件中。注意,只 保存查询语句及其查询结果及不可避免的截屏结束语句。
1.查看有哪些数据库 2.新建数据库 3.使用数据库(在我们的密令行中要先使用数据库 才能进行相应的建表 查询等操作) 4.创建一个数据库表 create table 表名 ( id 类型 约束 , 列名 类型 约束 , 列名 类型 约束 ) 5.查看数据库表 6.查看数据库表结构 7.添加数据 A . insert into 表名 (列名1,列名2.。。。) values (值1,值2。。。) 注意:1 id 是主键自增的 所以我们添加的时候 不去管id 因为它会自动增加 2 在添加的时候 有多少列 就要有多少个值 3 并且类型要匹配 B. 注意 :1 没有添加列名 代表所有列都添加数据 (id,name , age) 所以我们的值 也需要 3个 (null,’zhangsan’,18) 2 因为id是自增 所以我们第一个值写 null C. 8.查询表中所有的数据 SELECT * FROM 表名; Where 条件 9.条件删除 delete from 表名 where 条件; 10.修改 Update 表名 set 列 = 值 ,列=值 where 条件 11.删除table 12.删除数据库 二.查询语句 13.查询语句 Select 列名 from 表名 查询出的结果 称之为 临时表 我们可以订制临时表有那些列 14.查询的时候 可以给 表 或者 列 起别名 Select 列名1 [as] 别名 , 列名2 [as] 别名2 from 表名 别名 15.去重查询 16.条件查询 练习1 年龄大于 25的学生 > < >= <= != <> = 17.多条件查询 & and || or 18.条件查询 (模糊搜索) like %零个或多个 _匹配一个 19.排序 order by 列名 注意 如果只写列名 代表 升序。 升序 asc 降序 desc 如果需要多列排序,可以指定第二排序原则 三.聚合函数 20.Count 查询有多少条数据 21.Max 查询某一列最大值 22.Min 查询某一列最小值 23.Avg 查询某一列的平均值 24.Sum 查询某一列的总和 25.分组查询 group by 列 26.分组条件查询 having 查询平均年龄大于25以上的班级和班级平局年龄 27.数据库分页语句 limit limit (索引,长度) 28.多表查询 Select 列名 from 表名1,表名2 29.笛卡尔乘积 (A,B) (c,d) => Ac Ad Bc Bd 30.内连接查询 A.隐式内连接 B.显示内连接 inner join on Select 列名 from 表 inner join 表1 on 条件 31.外连接查询 左外链接 需求:查询所有学生 如果有班级的 显示班级。 此时我们再去用内连接进行查询 那么 新学生查询不出来 所以我们需要用到外连接 left join on 左外链接 就是 左边表的数据全部查询 右边表符合条件的查询出来 右外链接 32.子查询 注意 子查询的结果 一定要和 另一个查询条件匹配

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧