请参阅下面的 DDL:
CREATE TABLE dbaddress
(aid integer identity not null, link_id int, link_type char, primary key (aid))
CREATE TABLE dbDoorSupervisor
(did integer identity not null, name varchar(30), primary key (did))
CREATE TABLE dbLicensee
(lid integer identity not null, name varchar(30), primary key (lid))
INSERT INTO dbDoorSupervisor (name) values ('Ian')
INSERT INTO dbLicensee (name) values ('Maria')
INSERT INTO dbaddress (link_id, link_type) values (1,'D')
INSERT INTO dbaddress (link_id, link_type) values (1,'L')
我正在尝试根据提供的 Address.AID 获取门禁主管或被许可人的姓名。例如,如果在 WHERE 子句中提供了辅助 1,则从门监督表中返回 Ian,但是如果在 WHERE 子句中提供辅助 2,则从被许可方表中返回 Maria。
我知道您可以在 SELECT 子句中使用 CASE 语句,但是您可以在 FROM 子句中使用它们,即根据提供的 AID 从地址连接到被许可人或从地址连接到门禁管理员吗?