‘壹’ sql中如何合并多条记录的某一个字段
这个可以写一个函数:
create function f1(@id AS int)
returns varchar(100)
as
declare @a as varchar(100)
set @a=''
select @a=@a+','+备注 from 表2 where cid=@id
return substring(@a,2,len(@a))
然后这样写查询:
select 企业名称,联系人,f1(id) from 表
‘贰’ SQL循环查询如何合并查询结果到一个表,每个结果表作为一个字段
简单写了一个sqlserver的
按照你说的建个表,放了点数据
createtable订单
(订单号int,
订单日期datetime,
订单价值int)
insertinto订单values(1,'2013-05-01',10)
insertinto订单values(2,'2013-05-01',20)
insertinto订单values(3,'2013-06-01',30)
insertinto订单values(4,'2013-06-01',40)
insertinto订单values(5,'2013-07-01',50)
insertinto订单values(6,'2013-08-01',60)
insertinto订单values(7,'2013-08-01',70)
insertinto订单values(8,'2013-09-01',80)
insertinto订单values(9,'2013-09-01',90)
insertinto订单values(10,'2013-10-01',100)
insertinto订单values(11,'2013-10-01',110)
insertinto订单values(12,'2013-11-01',120)
insertinto订单values(13,'2013-11-01',130)
insertinto订单values(14,'2013-12-01',140)
你要查上个月到之前某个月的
所以执行这个
declare@sqlvarchar(4000)
declare@indexint
set@index=2--这个就是你说的要查前某个月的,这里写2就代表9,10,11三个月
set@sql='select''汇总''as汇总'
select@sql=@sql+',sum(isnull(caseconvert(varchar(7),订单日期,120)when'''+convert(varchar(7),[订单日期],120)+'''then[订单价值]end,0))as
['+convert(varchar(7),[订单日期],120)+']'
from(selectdistinctconvert(varchar(7),订单日期,120)订单日期from[订单]where
convert(varchar(7),订单日期,120)>=convert(varchar(7),dateadd(month,(-1-cast(''+@index+''asint)),getdate()),120)
andconvert(varchar(7),订单日期,120)<convert(varchar(7),getdate(),120))asa
select@sql=@sql+'from[订单]'
exec(@sql)--这句我是执行sql,你可以直接把上句改成createtable的形式,把sql语句print出来,看看
结果
‘叁’ 求问SQL如何将多个字段合并成一个并且数据对照关系不变
select 名称,年月,第一天 from表
union all
select 名称,年月,第二天 from表
union all
select 名称,年月,第三天 from表
union all
……
union all
select 名称,年月,第三十一天 from表
‘肆’ sql 里 怎么把一列的值合并成一个字符串
1、创建测试表,
create table test_str_concat(id varchar2(20), value varchar2(20));
‘伍’ sql中如何合并两个特定的字段
1、创建模拟的数据表
create table GoodsCate(
Mid int not null,
Code varchar(10) not null,
Name varchar(20) not null,
)
‘陆’ sql把几个文本字段内容合并到一个字段
select '文本字段'+'文本字段' 如果想给这个字段起个名称的话 就是select '文本字段'+'文本字段' as 名称 就这样就可以了 谢谢
‘柒’ 1、sql查询语句时怎么把几个字段拼接成一个字段这几个字段是整型的。
1、语句如下:
select 字段A, 字段B, 字段A + 字段B as 字段C From 表1
注:字段A加上字段B的计算列命名为字段C
2、计算列
计算列由可以使用同一表中的其他列的表达式计算得来。表达式可以是非计算列的列名、常量、函数,也可以是用一个或多个运算符连接的上述元素的任意组合。表达式不能为子查询。
原题的答案就是“计算列”。
(7)万能SQL合并结果到一个字段扩展阅读:
计算列应用范围
计算列可用于选择列表、WHERE 子句、ORDER BY 子句或任何可使用正则表达式的其他位置,但下列情况除外:
用作 CHECK、FOREIGN KEY 或 NOT NULL 约束的计算列必须标记为 PERSISTED。如果计算列的值由具有确定性的表达式定义,并且索引列中允许使用计算结果的数据类型,则可将该列用作索引中的键列,或者用作 PRIMARY KEY 或 UNIQUE 约束的一部分。
例如,如果表中含有整数列a和b,则可以对计算列a+b创建索引,但不能对计算列a+ DATEPART(dd,GETDATE()) 创建索引,因为在后续调用中,其值可能发生改变。
计算列不能作为 INSERT 或 UPDATE 语句的目标。
数据库引擎基于使用的表达式自动确定计算列的为 Null 性。即使只有非空列,大多数表达式的结果也“认为”可为空值,因为下溢或溢出生成的结果也可能为空。使用带AllowsNull属性的 COLUMNPROPERTY 函数可查明表中任何计算列的为 Null 性。
通过指定 ISNULL (check_expression,constant) 可以将可为空值的表达式转换为不可为空值的表达式,其中,constant是可替换所有空结果的非空值。
网络.计算列
‘捌’ sql怎样把两个字段合并成一个字段显示
SELECTCONCAT(字段1,字段2,...)FROM表名;