You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

根据officeID查询启用App并关联appSettings的SQL实现问题

解决指定OfficeID关联应用配置的SQL查询方案

问题核心

你需要将officeSettings表中指定OfficeID下状态为TRUE的应用列,转换为行数据后关联appSettings表的对应配置。由于原officeSettings表以列存储应用状态,需先做行转列处理才能与appSettings的行结构匹配。

实现方案与SQL示例

  1. 行转列处理:把officeSettings中的App1/App2/App3列拆分为包含appName和启用状态的行记录,保留对应OfficeID。
  2. 条件筛选:指定目标OfficeID,仅保留启用状态为TRUE的记录。
  3. 关联配置表:通过appName字段与appSettings表关联,拉取应用的完整配置。
SELECT 
    os.officeID,
    app.appName,
    app.icon,
    app.URL,
    app.link1,
    app.url1,
    app.link2,
    app.url2
FROM (
    -- 行转列:将各App列转为独立行记录
    SELECT officeID, 'App1' AS appName, App1 AS isEnabled FROM officeSettings
    UNION ALL
    SELECT officeID, 'App2' AS appName, App2 AS isEnabled FROM officeSettings
    UNION ALL
    SELECT officeID, 'App3' AS appName, App3 AS isEnabled FROM officeSettings
) AS os
JOIN appSettings AS app ON os.appName = app.appName
-- 筛选目标OfficeID和启用的应用
WHERE os.officeID = '101010' AND os.isEnabled = TRUE;

结果示例

以OfficeID=101010为例,查询结果会返回该Office下启用的App1和App2的完整配置:

officeIDappNameiconURLlink1url1link2url2
101010App1img/app1.svg#####
101010App2img/app2.svg#####

结果遍历

在应用代码中,直接遍历查询返回的结果集,即可逐行处理每个启用应用的配置数据。

内容的提问来源于stack exchange,提问作者Mark Pearce

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 08:22:22