請參閱下面的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