Как создать ваучер на членство в цикле зависимости - PullRequest
0 голосов
/ 04 октября 2019

У меня есть член таблицы, ваучер и отставка. Между участниками и ваучерами существует связь, при которой у участников может быть много ваучеров, а у ваучеров может быть много участников.

А также ссылка на отставку таблицы.

Это таблицы:

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 имеет связанный ваучер, как показано ниже

  1. memberno ai005 имеет ваучеры vc002 и vc005
  2. voucherno vc002 имеет memberno ai003, ai004, ai005
  3. voucherno vc005 имеет memberno ai005
  4. цикл с шага 1 замените ai005 на ai003, ai004, чтобы получить список, у voucherno есть aai004 затем посмотрим, какой член имел эти ваучеры.

Я получил шесть уровней с шестью сценариями для достижения этой цели.

Есть ли какое-либо решение для создания запроса, чтобы получить всех членов списка во всех ваучерах, связанных с отставкой участника. но мне нужно, как сделать это с помощью автоматического цикла, например, используя CTE и т. д.

Пожалуйста, проверьте шесть сценариев с шестью уровнями здесь: http://sqlfiddle.com/#!18/91256/21

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...