gpt4 book ai didi

SQL动态结构

转载 作者:行者123 更新时间:2023-11-29 13:30:52 26 4
gpt4 key购买 nike

我有以下结构

construction
id
1

building-step
id construction_id step_id worker_id
1 1 1 1
1 1 2 2

step
id name
1 foundation
2 wall
3 roof

当使用模板添加新结构时,会生成构建步骤。在初始配置步骤之后可以添加或删除。

要求之一是将构造模板显示为字符串。该模板是动态的,因为您可以添加和删除步骤。在这种情况下,模板名称是“foundation+wall”。如果我添加另一个构建步骤,模板名称将为“foundation+wall+roof”。

我的问题是,如何以优化的方式做到这一点?SQL 结构是这种动态复杂性的问题吗?

最佳答案

特别是在 Postgres 中,您可以使用 string_agg 函数,它连接字符串行。

在你的例子中,你可以尝试:

select string_agg(nm,'+') from(
select st.name as nm
from building-step bs
inner join
step st
on bs.step_id=st.id
where bs.construction_id=1
order by bs ASC
); --done by hand, may have small errors

它将支持随时在两个表中进行编辑,并且性能良好。

关于SQL动态结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23875148/

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