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

基于指定规则使用SQL SELECT语句合并多表的技术需求

编写SQL SELECT语句合并数据库表

源表信息

工厂表(Plant)

编号(ID)标识(identifier)编码(code)
cbf25200consistent
b3aa5201consistent

供应商表(Supplier)

编号(ID)标识(identifier)编码(code)
3527SD501consistent

物料表(Material)

编号(ID)标识(identifier)编码(code)PC编号(PC_ID)wxyz编码(wxyz_Code)
b4a1B50003consistenta1
97bbB50004consistentb1
e189B50005consistentc0

合并规则

  • 派生表(DerivedTable)的格式化编号(formattedID)列由工厂表、物料表、供应商表的标识(identifier)列组合而成。
  • 仅选取物料表中wxyz编码(wxyz_Code) = 1的行。
  • 物料表的wxyz编码(wxyz_Code)列在派生表中重命名为abcd编码(abcd_Code)。
  • 派生表的物料编号(Material_ID)、工厂编号(Plant_ID)、供应商编号(Supplier_ID)列分别取自物料表、工厂表、供应商表的编号(ID)列。
  • 派生表的PC编号(PC_ID)列取自物料表的PC编号(PC_ID)列。

期望生成的派生表(DerivedTable)

编号(ID)格式化编号(formattedID)abcd编码(abcd_Code)物料编号(Material_ID)供应商编号(Supplier_ID)工厂编号(Plant_ID)PC编号(PC_ID)
自动生成B50003/52011b4a1'null'cbf2a
自动生成B50003/52001b4a1'null'b3aaa
自动生成B50003/5201/SD5011b4a13527cbf2a
自动生成B50003/5200/SD5011b4a13527b3aaa
自动生成B50004/5201197bb'null'cbf2b
自动生成B50004/5200197bb'null'b3aab
自动生成B50004/5201/SD501197bb3527cbf2b
自动生成B50004/5200/SD501197bb3527b3aab

实现SQL语句

-- 注:自动生成ID的函数需根据数据库调整,如MySQL用UUID(),SQL Server用NEWID(),Oracle用SYS_GUID()
SELECT
    UUID() AS ID,
    CONCAT(m.identifier, '/', p.identifier) AS formattedID,
    m.wxyz_Code AS abcd_Code,
    m.ID AS Material_ID,
    NULL AS Supplier_ID,
    p.ID AS Plant_ID,
    m.PC_ID
FROM Material m
CROSS JOIN Plant p
WHERE m.wxyz_Code = 1

UNION ALL

SELECT
    UUID() AS ID,
    CONCAT(m.identifier, '/', p.identifier, '/', s.identifier) AS formattedID,
    m.wxyz_Code AS abcd_Code,
    m.ID AS Material_ID,
    s.ID AS Supplier_ID,
    p.ID AS Plant_ID,
    m.PC_ID
FROM Material m
CROSS JOIN Plant p
CROSS JOIN Supplier s
WHERE m.wxyz_Code = 1
ORDER BY Material_ID, Plant_ID, Supplier_ID DESC;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 21:09:30