我PropertyValue
在UserProfile
表中有一个名为的字段,其中可以包含地址、电话号码、名字、姓氏、用户名、城市等信息...此表中的每条记录都通过 UserId 与用户关联,它也关联到一个ProfilePropertyDefinition
包含每个属性的定义(即PropertyName)。
通过这种关系,我可以获得所有属性值及其属性名称。我想做的是从这两列(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'))
但这并没有奏效,而且有些东西看起来很奇怪......任何人都知道如何取一列并在几个不同的列中显示它的值?