请参阅下面的DDL:CASE语句FROM子句
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名称或许可。例如,如果辅助装置1的WHERE子句中被提供,然后伊恩从门监表中返回,但是,如果辅助装置2的WHERE子句然后玛利亚从许可表中返回在被供给。
我知道你可以使用CASE语句在SELECT子句中,但你可以用它们在FROM子句即从地址到持牌人或地址加入到门主管根据所提供的援助?
没有,但你可以在两个表中加入,然后用一种情况, SELECT只读出每行的适当链接名称。或者,您可以做两个查询,一个查找一个类型,另一个查找另一个类型,并将它们组合在一起。 –
@JacobM,谢谢。我认为答案是创建一个派生表,其中包含所有门主管和许可证持有人,我想你是暗示的。 – w0051977