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

如何通过相同UnitOfMeasureId关联两张表查询UOM及对应规格数据

查询实现方案

本次查询的核心是通过UnitOfMeasure表和UnitOfMeasureSize表的关联外键做联结,过滤指定的UOM Id即可拿到所需数据,默认关联条件为 UnitOfMeasure.Id = UnitOfMeasureSize.UnitOfMeasureId,如果你的外键字段命名有差异可自行调整。

基础查询(每条规格对应一条返回记录)

SELECT 
  uom.Id AS UomId,
  uom.Name AS UnitOfMeasureName,
  -- 可自行补充需要的UnitOfMeasure表其他字段
  uoms.Id AS UomSizeId,
  uoms.SizeValue,
  uoms.Description AS SizeDescription
  -- 可自行补充需要的UnitOfMeasureSize表其他字段
FROM UnitOfMeasure uom
INNER JOIN UnitOfMeasureSize uoms 
  ON uom.Id = uoms.UnitOfMeasureId
WHERE uom.Id = 你要查询的UOM_ID;

聚合查询(同一UOM的所有规格合并为一条返回记录)

  • MySQL版本:
SELECT 
  uom.Id AS UomId,
  uom.Name AS UnitOfMeasureName,
  GROUP_CONCAT(uoms.SizeValue SEPARATOR ', ') AS AllSizeValues,
  GROUP_CONCAT(uoms.Description SEPARATOR '; ') AS AllSizeDescriptions
FROM UnitOfMeasure uom
INNER JOIN UnitOfMeasureSize uoms 
  ON uom.Id = uoms.UnitOfMeasureId
WHERE uom.Id = 你要查询的UOM_ID
GROUP BY uom.Id, uom.Name;
  • SQL Server/PostgreSQL版本:
SELECT 
  uom.Id AS UomId,
  uom.Name AS UnitOfMeasureName,
  STRING_AGG(uoms.SizeValue, ', ') AS AllSizeValues,
  STRING_AGG(uoms.Description, '; ') AS AllSizeDescriptions
FROM UnitOfMeasure uom
INNER JOIN UnitOfMeasureSize uoms 
  ON uom.Id = uoms.UnitOfMeasureId
WHERE uom.Id = 你要查询的UOM_ID
GROUP BY uom.Id, uom.Name;

注意事项

  • 如果你需要返回没有关联任何规格的UOM单位信息,把查询中的INNER JOIN替换为LEFT JOIN即可。
  • 上述查询中的字段可根据你实际的表字段定义做增删调整。

Unit Of Measure
Unit Of Measure Size

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:15:03