TContractForm
フィールドのあるテーブルがありますidcontract(primary key),idcntrtype(foreign key),date_begin,date_end,cost
。また、私は3種類の契約を結んでいます。
TRentWhouseContract
フィールド付きidcontract,idclient,idpdtwhs
TRentShoppointContract
フィールド付きidcontract,idclient,idshoppoint,idshoptype
TRentEquipContract
フィールド付きidcontract,idclient,ideq,amount
idcntrtype
- 契約の種類。TContractType
- idcntrtype(primary key),idcntrclass(foreign key),name
。TContractClass
- idcntrclass,name
。
列のあるビューを作成したい
idcontract,idclient,contract_type(name of type),contract_class(name of class),date_begin,date_end,cost
。
しかし、私のクエリは何も返しません(TRentWhouseContractテーブルにいくつかのコントラクトがあることを知っています(他のテーブルには行がありません)(いくつかのテーブルが空の場合に別のテーブルから同じidclientを取得する方法がわからないため、idclientがありません) 。
select TCF.idcontract,
--idclient
TCF.date_begin,
TCF.date_end,
TCT.name as [type],
TCC.name as class,
TCF.cost
from TContractForm as TCF,
TRentEquipContract as TREC,
TRentShopPointContract as TRSPC,
TRentWhouseContract as TRWC,
TContractType as TCT,
TContractClass as TCC
where TCF.idcontract = TREC.idcontract or TCF.idcontract = TRSPC.idcontract
or TCF.idcontract = TRWC.idcontract and TCT.idcntrtype = TCF.idcntrtype
and TCT.idcntrclass = TCC.idcntrclass