住所情報の視覚化に問題があります。
例
- 私には、複数の住所を持つ個人または関係者が 1 人います。
- 各アドレスをアドレス テーブルに格納し、それがどのようなアドレスであるかを定義します。
- 例として3つのアドレスタイプがあります。
私がする必要があるのは、すべての住所列を並べて視覚化することです。
住所が 1 つしかない場合NULL
は、住所がないため、他のフィールドを表示する必要があります。
ここでは、小さなテーブル セットアップを作成しました。
Create table relation(
PKid int identity(1,1) primary key,
Name varchar(255)
)
--Create table Adrestype(
PKid int identity(1,1) primary key,
TypeDescription varchar(255)
)
Create table adres(
PKid int identity(1,1) primary key,
Street varchar(255),
Number varchar(255),
zipcode varchar(255),
Location varchar(255),
AdresTypeId int
)
Create table RelationXAdres(
PKid int identity(1,1) primary key,
RelationID int not null,
adresID int not null
)
Insert into Relation values('Peter');
Insert into Relation values('Nico');
Insert into Relation values('Bart');
Insert into Relation values('Werner');
Insert into Adrestype values('Work');
Insert into Adrestype values('Home');
Insert into Adrestype values('Extra');
Insert into adres values ('Streetname', '125', '5520', 'Gent', 1)
Insert into adres values ('StreetLane', '15', '5550', 'Rome', 2)
Insert into adres values ('Street', '12', '5120', 'Paris', 3)
Insert into RelationXAdres values( 1,1);
Insert into RelationXAdres values( 1,2);
Insert into RelationXAdres values( 1,3);
Insert into adres values ('againstraat', '5', '4420', 'Oslo', 1)
Insert into adres values ('some Street', '12', '2220', 'Praag', 2)
Insert into RelationXAdres values( 2,4);
Insert into RelationXAdres values( 2,5);
Insert into adres values ('SoloStreet', '5', '4420', 'Oslo', 1)
Insert into RelationXAdres values( 3,6);
Insert into adres values ('MainStreet', '25', '1120', 'Berlin', 3)
Insert into RelationXAdres values( 4,7);
-- show all tabel's data
select * from relation
Select * from adres
select * from RelationXAdres
select * from Adrestype
-- Show all data in 1 statement
select * from relation r
left join RelationXAdres ra on ra.RelationID = r.PKid
left join adres a on a.PKid = ra.adresId
left join adrestype at on at.PKid = a.AdresTypeId
結果は次のようになります。