# dim_tenant_goods_ex 租户商品扩展表

> 生成时间：2026-01-28

## 表信息

| 属性 | 值 |
|------|-----|
| Schema | billiards_dwd |
| 表名 | dim_tenant_goods_ex |
| 主键 | tenant_goods_id, scd2_start_time |
| 主表 | dim_tenant_goods |
| 记录数 | 171 |
| 说明 | 租户商品扩展表，包含图片、条码、成本、折扣配置等详细信息 |

## 字段说明

| 序号 | 字段名 | 类型 | 可空 | 主键 | 说明 |
|------|--------|------|------|------|------|
| 1 | tenant_goods_id | BIGINT | NO | PK | 租户商品 ID → dim_tenant_goods |
| 2 | remark_name | VARCHAR(128) | YES | | 备注名称（当前数据全为空） |
| 3 | pinyin_initial | VARCHAR(128) | YES | | 拼音首字母 |
| 4 | goods_cover | VARCHAR(512) | YES | | 商品封面图 URL |
| 5 | goods_bar_code | VARCHAR(64) | YES | | 商品条码（当前数据全为空） |
| 6 | commodity_code | VARCHAR(64) | YES | | 商品编码 |
| 7 | commodity_code_list | VARCHAR(256) | YES | | 商品编码列表 |
| 8 | min_discount_price | NUMERIC(18,2) | YES | | 最低折扣价 |
| 9 | cost_price | NUMERIC(18,2) | YES | | 成本价 |
| 10 | cost_price_type | INTEGER | YES | | 成本价类型。**枚举值**: 1(160), 2(11) **[待确认]** |
| 11 | able_discount | INTEGER | YES | | 允许折扣。**枚举值**: 1(171)=允许 |
| 12 | sale_channel | INTEGER | YES | | 销售渠道（当前数据全为空） |
| 13 | is_warehousing | INTEGER | YES | | 库存管理。**枚举值**: 1(171)=参与库存管理 |
| 14 | is_in_site | BOOLEAN | YES | | 是否在门店。**枚举值**: False(171)=否 |
| 15 | able_site_transfer | INTEGER | YES | | 允许店间调拨。**枚举值**: 0(1), 2(170) **[待确认]** |
| 16 | common_sale_royalty | INTEGER | YES | | 普通销售提成（当前数据全为 0） |
| 17 | point_sale_royalty | INTEGER | YES | | 积分销售提成（当前数据全为 0） |
| 18 | out_goods_id | BIGINT | YES | | 外部商品 ID（当前数据全为 0） |
| 19 | scd2_start_time | TIMESTAMPTZ | NO | PK | SCD2 版本生效时间 |
| 20 | scd2_end_time | TIMESTAMPTZ | YES | | SCD2 版本失效时间 |
| 21 | scd2_is_current | INTEGER | YES | | 当前版本标记 |
| 22 | scd2_version | INTEGER | YES | | 版本号 |

## 使用说明

**版本与最新值**
本表为 SCD2 维度表，版本字段：scd2_start_time / scd2_end_time / scd2_is_current / scd2_version。

- 最新版本：scd2_is_current = 1
- 按业务主键取最新：按 scd2_start_time 倒序

```sql
-- 取某业务主键的最新版本
SELECT *
FROM billiards_dwd.dim_tenant_goods_ex
WHERE tenant_goods_id = <value>
ORDER BY scd2_start_time DESC
LIMIT 1;
```
**使用示例**
```sql
-- 关联主表与扩展表
SELECT m.goods_name, m.market_price, e.cost_price, e.min_discount_price
FROM billiards_dwd.dim_tenant_goods m
JOIN billiards_dwd.dim_tenant_goods_ex e
  ON m.tenant_goods_id = e.tenant_goods_id
  AND m.scd2_start_time = e.scd2_start_time
WHERE m.scd2_is_current = 1;
```
