excel会计凭证表科目编号怎么根据名称饮用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel会计凭证表科目编号怎么根据名称饮用相关的知识,希望对你有一定的参考价值。
参考技术A 你可以通过CONCATENATE将年月日生成凭证编号。你可以用CONCATENATE函数,进行变化将年月日合成并生成凭证编号,你可以在你所选定的单元格中输入CONCATENATE,之后点击回车即可,然后鼠标放在e2单元格右下角,双击进行填充就可以生成了。
SQL如何查询两个表连接明细表结果用分隔符分开?
对数据库不是太懂,请各位老师帮忙看一下,问题如下:有两个表 学生表(字段有学生编号,姓名,),科目表(字段有学生编号,科目编号,科目名称),现学生表有编号01,姓名学生A,报有有两个科目(学生编号01,科目编号1,科目名称语文 学生编号01,科目编号2,科目名称数学),想实现下图的查询结果:
'''
CREATE TABLE T_Students
(
ID varchar(50),
F_Name varchar(50)
)
CREATE TABLE T_Subjects
(
Student_ID varchar(50),
Subject_ID varchar(50),
F_SubjectName varchar(50)
)
insert T_Students values ('01','A')
insert T_Subjects values ('01','1','语文')
insert T_Subjects values ('01','2','数学')
insert T_Students values ('02','B')
insert T_Subjects values ('02','1','语文')
insert T_Subjects values ('02','2','数学')
select a.ID,a.F_Name,stuff((select ','+Subject_ID from T_Subjects
where Student_ID=a.ID for xml path('')),1,1,'') as SubjectID,stuff((select ','+F_SubjectName from T_Subjects
where Student_ID=a.ID for xml path('')),1,1,'') as SubjectName
from T_STudents as a group by ID,F_Name
'''
参考技术A需要用到stuff函数:
例:
id name
1 张三
1 李四
2 王五
2 赵六
结果:
Id name
1 张三,李四
2 王五,赵六
创建测试表及插入数据:
create table test(id int,
name varchar(10))
insert into test values (1,' 张三')
insert into test values (1,' 李四')
insert into test values (2,' 王五')
insert into test values (2,' 赵六')
执行语句:
where a.id=id for xml path('')),1,1,'') as name
from test as a group by id
执行结果截图:
参考技术B
需要用到stuff函数:
例:
id name
1 张三
1 李四
2 王五
2 赵六
结果:
Id name
1 张三,李四
2 王五,赵六
创建测试表及插入数据:
create table test(id int,
name varchar(10))
insert into test values (1,' 张三')
insert into test values (1,' 李四')
insert into test values (2,' 王五')
insert into test values (2,' 赵六')
执行语句:
where a.id=id for xml path('')),1,1,'') as name
from test as a group by id
执行结果截图:
追问
我看到有些用inner join或者 left join的,适用这种方法能实现我之前说的要求吗?stuff这个函数我试过了,那个单机软件不支持
本回答被提问者采纳 参考技术C 因为你没有提供具体的数据库类型,所以我写了三种语法:Oracle语法:
select a.学生编号,
a.姓名,
listagg(b.科目编号, ',') within group( order by b.科目编号) 科目编号,
listagg(b.科目名称, '+') within group( order by b.科目编号) 科目名称
from 学生表 a,
科目表 b
where a.学生编号 = b.学生编号
group by a.学生编号,
a.姓名;
SqlSerVer语法:
select
t.学生编号,
t.姓名,
left ( t.科目编号, len( t.科目编号 ) - 1 ) 科目编号,
left ( t.科目名称, len( t.科目名称 ) - 1 ) 科目名称
from
(
select
a.*,
( select b.科目编号 + ',' from 科目表 b where a.学生编号 = b.学生编号 order by b.科目编号 for xml path ( '' ) ) 科目编号,
( select b.科目名称 + '+' from 科目表 b where a.学生编号 = b.学生编号 order by b.科目编号 for xml path ( '' ) ) 科目名称
from
学生表 a
) t;
MySql语法:
select
a.学生编号,
a.姓名,
group_concat( b.科目编号 order by b.科目编号 separator ',' ) 科目编号,
group_concat( b.科目名称 order by b.科目编号 separator '+' ) 科目名称
from
学生表 a,
科目表 b
where
a.学生编号 = b.学生编号
group by
a.学生编号,
a.姓名;
以上是关于excel会计凭证表科目编号怎么根据名称饮用的主要内容,如果未能解决你的问题,请参考以下文章