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,' 赵六')

执行语句:

select id,stuff((select ','+name from test 
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,' 赵六')

执行语句:

select id,stuff((select ','+name from test 
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会计凭证表科目编号怎么根据名称饮用的主要内容,如果未能解决你的问题,请参考以下文章

如何冲销凭证

用友里基础设置里会计科目设置完做了凭证以后是不是就不能修改科目?若是想修改科目的话 应该怎么办

也给我一套EXCEL会计全套账吧

金蝶如何做凭证

sap如何导出单张凭证

sap发货过账生成的记账凭证是