PropertyValue
住所、電話番号、名、姓、ユーザー名、都市などの情報を含むことができるテーブルで呼び出されるフィールドがありUserProfile
ます...このテーブルの各レコードは、UserId によってユーザーに関連付けられています。各プロパティの定義をProfilePropertyDefinition
含む に変換します (つまり、PropertyName)。
この関係により、すべてのプロパティ値とそのプロパティ名を取得できます。これらの 2 つの列 (PropertyValue、PropertyName) からデータを抽出し、次のようなテーブルを作成するためにやりたいこと:
First Name | Last Name | Email | Phone | City | Country
-------------------------------------------------------
| | | | |
だから、私はこれを行うために SQL ステートメントを使用できるかどうかを知りたかったのです。
SELECT FirstName = (SELECT PropertyValue FROM UserProfile WHERE PropertyDefinitionID = (SELECT PropertyDefinitionID WHERE PropertyName = 'first name')),
LastName = (SELECT PropertyValue FROM UserProfile WHERE PropertyDefinitionID = (SELECT PropertyDefinitionID WHERE PropertyName = 'last name')),
Email = (SELECT PropertyValue FROM UserProfile WHERE PropertyDefinitionID = (SELECT PropertyDefinitionID WHERE PropertyName = 'email'))
しかし、それは機能せず、何かが本当に奇妙に思えます.1つの列を取り、その値を複数の異なる列に表示する方法を知っている人はいますか?