2017-06-15 1 views
0

残念ながら、これは他の場所では回答されていますが、見つけられません。 私は、多数のアドレスに対してCurrentAddressIDとOldAddressID(必須)とLandlordAddressID(オプション)のIDを持つアドレスフォームの変更用のテーブルを持っています。複数のアドレスIDを含むテーブルの1つのテーブルから複数のアドレスを表示するためのSQLビュー

TableFormSubmissions 
[Forename], 
[Surname], 
[Telephone], 
[CurrentAddressID], 
[OldAddressID], 
[LandlordAddressID] 

TableAddresses 
[HouseNumber], 
[Street], 
[District], 
[County], 
[Postcode] 

私はリストしビューを作成したいと思います:

Forename, 
Surname, 
Telephone, 
HouseNumber (Current), 
Street (Current), 
District (Current), 
County (Current), 
Postcode (Current), 
HouseNumber (Old), 
Street (Old), 
District (Old), 
County (Old), 
Postcode (Old), 
HouseNumber (Landlord if provided), 
Street (Landlord if provided), 
District (Landlord if provided), 
County (Landlord if provided), 
Postcode (Landlord if provided) 

私の現在のSQLは、混乱では動作しませんし、私の恥ずかしさを節約するために省略されています。 誰も助けることができますか?

+0

テーブルと何があなたのビューで取得したいの両方のためのいくつかの例のデータを投稿してください。ちなみに、stackoverflow.comは炎上の伝統を持っていますが、これを解決するための最善の試みを投稿できないはずはありません。 – Tarik

答えて

1

私が正しく問題を理解している場合

SELECT 
Forename, 
Surname, 
Telephone, 
tsCurrent.HouseNumber [CurrentHouseNumber ], 
tsCurrent.Street [CurrentStreet ], 
tsCurrent.District [CurrentDistrict ], 
tsCurrent.County [CurrentCounty ], 
tsCurrent.Postcode [CurrentPostcode ], 
tsOld.HouseNumber [OldHouseNumber ], 
tsOld.Street [OldStreet ], 
tsOld.District [OldDistrict ], 
tsOld.County [OldCounty ], 
tsOld.Postcode [OldPostcode ], 
tsLandLord.HouseNumber [LandlordHouseNumber ], 
tsLandLord.Street [LandlordStreet ], 
tsLandLord.District [LandlordDistrict ], 
tsLandLord.County [LandlordCounty ], 
tsLandLord.Postcode [LandlordPostcode ] 
FROM TableFormSubmissions AS tfs 
left JOIN TableAddresses AS tsCurrent ON tfs.CurrentAddressID = tsCurrent.AddressID 
left JOIN TableAddresses AS tsOld ON tfs.CurrentAddressID = tsOld.AddressID 
left JOIN TableAddresses AS tsLandLord ON tfs.CurrentAddressID = tsLandLord.AddressID 

+0

ありがとう、私の実際のデータ構造はもう少し複雑ですが、私はそれを動作させるために上記のいくつかの調整を加えました。私のSQLは非常に複雑でした。 – Tel

関連する問題