gpt4 book ai didi

sql - 组合对象和属性

转载 作者:行者123 更新时间:2023-12-04 01:07:02 25 4
gpt4 key购买 nike

我有 3 个表。

第一个表名:Objects

<表类="s-表"><头>身份证姓名<正文>1艾哈迈德2哈桑

第二个表名:Properties

<表类="s-表"><头>身份证姓名<正文>1眼睛颜色2高度

第三表名:Data

<表类="s-表"><头>对象ID属性ID值<正文>11蓝色121.7021绿色221.90

使用上面的三个表,我想用 SQL 创建以下列表。

<表类="s-表"><头>姓名眼睛颜色高度<正文>艾哈迈德蓝色1.70哈桑绿色1.90

我尝试将此传输作为示例 SQL

SELECT Distinct Objects.Name, (SELECT * FROM Datas where PropertyID = Datas.PropertyID )
FROM Datas
INNER JOIN Objects ON Datas.ObjectID = Objects.ID
INNER JOIN Properties ON Datas.PropertyID = Properties.ID

有人可以帮帮我吗?

最佳答案

从包含最终结果中所需行的表开始,即 Objects(尽管我强烈建议不要将其用作用户表名,因为它也是系统表名)。

然后加入其他专栏所需的信息。

我强烈建议使用表别名,以使您的查询更易于阅读和理解。

select [Name], E.[Value] EyeColor, H.[Value] Height
from dbo.[Objects] O
inner join dbo.[Data] H on H.ObjectID = O.id
and H.PropertyID = (select P.id from dbo.Properties P where P.[Name] = 'Height')
inner join dbo.[Data] E on E.ObjectID = O.id
and E.PropertyID = (select P.id from dbo.Properties P where P.[Name] = 'EyeColor');

关于sql - 组合对象和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66094244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com