sql-SQL实现根据某个字段不同的数据,,给其他字段添加不同的别名。

问题描述

SQL实现根据某个字段不同的数据,,给其他字段添加不同的别名。

现在我遇到了一个这样的需求,如下:
数据表里有一个字段(a)用来区分不同类型的数据,只有两种类型。
除a外其他字段有三个。
现在有实现根据a的值给其他字段添加不同别名。
主要难点在于,我需要用除a外的三个字段查询出6个字段的值用于桌面展示,
不能用JSP来实现,因为SQL查询出的数据还有用来导出,所以要用纯的SQL实现。
用一个图来表示:

希望有大神给我解决一下。

解决方案

意思就是:我在页面有6个字段要展示,但数据库中只有3个并且,应定要用别名来展示,当其中三个字段有值时,,其他三个要为空。

解决方案二:

(select f1 as b, f2 as c, f3 as d from table where a = 1) union
(select f4 as b, f5 as c, f6 as d from table where a = 0)

解决方案三:

select b as 1, c as 2, d as 3 from 你的表名 where a = 1 union select b as 4, c as 5, d as 6 from 你的表名 where a =0

时间: 2024-09-19 09:55:46

sql-SQL实现根据某个字段不同的数据,,给其他字段添加不同的别名。的相关文章

sqlserver2005自动创建数据表和自动添加某个字段索引_mssql2005

创建数据表的SQL语句如下: string tatlename = "T_useruid";//定义一个变量.用于自动创建数据表的名称,当前表名为:T_useruid string sql = "CREATE TABLE [dbo].[" + tatlename + "]([Cid] [int] IDENTITY(1,1) NOT NULL,[Uid] [nchar](32) COLLATE Chinese_PRC_CI_AS NULL,CONSTRAIN

sql 去除重复数据(多字段)

问题描述 sql 去除重复数据(多字段) 我现在有个表 表里面有ID No,Pass 然后根据No,Pass相同的数据,保留Max(ID)数据,删除其他,如何做? 我是这么做的,不知道行不行 delete Min(ID),CAST(No AS VARCHAR)+CAST(Pass AS VARCHAR) from Table group by No, Pass having count(*) > 1 解决方案 可以用distinct或者group by一下 解决方案二: 试一下 DELETE F

select-表A两个字段分别a与b,字段a与b都是单独索引,请描述一下sql的语句的问题

问题描述 表A两个字段分别a与b,字段a与b都是单独索引,请描述一下sql的语句的问题 求职的时候遇到一个笔试题,我楞是不知道有什么问题.求问答 表A两个字段分别a与b,字段a与b都是单独索引,请描述一下sql的语句的问题? SELECT * FROM A where b=1 or a=1: 解决方案 这个SQL的索引用不上啦 解决方案二: 会导致索引失效,造成全表扫描. 解决方案三: 主流的数据库对于这种整数做索引都是基于btree当你用or包含2个独立索引的条件的时候,索引会失效,引起全表扫

如何去除my sql 数据表里一个字段的重复数据?中间用竖线分割开了,下附截图。

问题描述 如何去除my sql 数据表里一个字段的重复数据?中间用竖线分割开了,下附截图. 解决方案 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowi

sql数据查询出现字段为空和不为空相加不等于总数

问题描述 sql数据查询出现字段为空和不为空相加不等于总数 情景是这样,一个原始数据excle表格,数据总数为81439条,复制到数据库中select * from 查询后显示结果为81444,然后根据某个字段为空查询出4条,删除后应该是剩81440条呢! 问题出现了,根据某字段aa为空没有查询出来数据,根据aa不为空缺查出81439条数据,少一条.根据字段bb.cc结果一样,根据字段dd为空查询出数据1条,不为空的是81437.根据aa,bb,cc不为空查出81439条为空却查不出数据. 为什

access数据库-Access 数据库,SQL(多字段关联重复数据去除)

问题描述 Access 数据库,SQL(多字段关联重复数据去除) --这个表,我这边将这些字段(6个)重复的数据清除,因为之前没做主键.唯一等约束,造成数据重复.混乱! select distinct FPeriod,facctid,fclsid,fobjid,fcyid,fbase from glpnl_20140423bak --一共8个字段,我要根据期中六个做联合主键,所以要把这些垃圾数据清除----求大神出现! 解决方案 新加一张表,存储查重后的结果,这样不可以吗

sql数据表建字段思路求助

问题描述 sql数据库想建这样一个表tb,里面有字段ID(主键),b1,b2,b3,b4,b5,b6,b7...(二十来个吧)要求是:一条记录的字段内容不一定一次填写完全后才插入,有些是跨两年才录入完全.现就假设tb表就有b1到b7的7个字段吧,假设2008年录入ID=20005的b1,b2,b3这三个字段的值并写进了tb表里(而实际录入哪几个字段并不确定),而在2009年又录入了ID=20005的b4,b5,b6,b7字段的值并更新了tb表里ID=20005的这一条记录的值(实际也不确定具体哪

方便查看数据表和字段的SQL语句(适用于SQLServer2000)

经过对SQLServer2000系统表的分析,写出了以下两个SQL语句.可以把这两个语句分别建为两个"视图",方便查看用户数据表和字段的信息. 1.列出所有的用户数据表: SELECT TOP 100 PERCENT o.name AS 表名FROM dbo.syscolumns c INNER JOIN      dbo.sysobjects o ON o.id = c.id AND objectproperty(o.id, N'IsUserTable') = 1 AND      

跪求一sql语句:查询sql数据表的字段的备注内容

问题描述 是这样的,想做一个对应表字段的查询联合查询,因为数据表的字段名是英文的,但备注是汉字的,所以想根据备注查出对应表的字段名,然后在按这个字段进行查询.首先:第一步查出表说所有字段的备注2:然后根据备注内容查询出字段名:我是菜鸟,请大家帮下忙!! 解决方案 解决方案二:selectcommentsfromuser_col_commentswheretable_name='TEST'andcolumn_name='NAME';解决方案三:declare@atable(字段名nvarchar(

mysql删除字段重复的数据sql语句

mysql删除字段重复的数据,经过搜索刚开始是这样做的: delete from v_togo where tel in (select tel from v_togo group by tel having count(tel) > 1) and togoid not in (select min(togoid) from v_togo group by tel having count(tel )>1) 结果mysql报错 you can't specify target table 'v