Sql 如何创建循环依赖关系成员凭证
我有桌上会员、凭单和辞职。成员和凭证之间存在关系,其中成员可以有多个凭证,凭证可以有多个成员 并链接到表demist 以下是表格:Sql 如何创建循环依赖关系成员凭证,sql,tsql,Sql,Tsql,我有桌上会员、凭单和辞职。成员和凭证之间存在关系,其中成员可以有多个凭证,凭证可以有多个成员 并链接到表demist 以下是表格: create table member ( ID int identity(1,1) primary key not null, memberno varchar(30), nameoncard varchar(30) ) create table voucher ( id int identity(1,1) primary key
create table member
(
ID int identity(1,1) primary key not null,
memberno varchar(30),
nameoncard varchar(30)
)
create table voucher
(
id int identity(1,1) primary key not null,
voucherno varchar(30),
memberno varchar(30)
)
insert into member values
('ai001','ali')
, ('ai002','badu')
, ('ai003','cica')
, ('ai004','dudi')
, ('ai005','efi')
, ('ai006','galih')
, ('ai007','heru')
, ('ai008','ina')
, ('ai009','joko')
, ('ai010','lambert')
insert into voucher values
('vc001','ai001')
, ('vc001','ai002')
, ('vc002','ai003')
, ('vc002','ai004')
, ('vc002','ai005')
, ('vc003','ai001')
, ('vc003','ai002')
, ('vc004','ai003')
, ('vc004','ai001')
, ('vc005','ai005')
create table resign
(
id int identity(1,1) primary key not null,
memberno varchar(30),
tanggalresign datetime
)
insert into resign values
('ai005','2019-01-20')
从辞职表中,memberno有如下相关凭证
会员编号ai005有凭证vc002和vc005
Voucheno vc002的成员编号为ai003、ai004、ai005
Voucheno vc005的成员号为ai005
步骤1中的回路将ai005替换为ai003、ai004
通过ai003、ai004获得Voucheno的名单,然后通过这些凭证获得cek成员的名单。
我用六个剧本达到了六级
是否有任何解决方案来创建查询,以获取与成员辞职相关的所有凭证中的所有列表成员。
但我需要的是如何做它像使用CTE等自动循环
请在此处检查六个级别的六个脚本:您是否尝试添加和m.memberno不在select memberno from Dimit中,TsugDateTime将被考虑在内?第一级是成员辞职,即ai005,第二级是成员ai003、ai004、ai005,但我们需要使用ai003获得第三级,ai004循环类似于第一级。我创建了六个脚本查询,手动从级别1到级别6获得六个级别,但这不是一个答案,如何创建从级别1到最终级别循环的查询,使用单个脚本自动循环。小提琴链接是一个很好的问题补充,但问题不应该依赖于它——它应该是独立的。我已经将您的样本数据的DDL和DML编辑到问题中,请记住在您将来的问题中包含它们。现在,您的问题不是很清楚。请将它包括您想要的结果和当前的尝试。