【发布时间】:2019-06-19 09:58:16
【问题描述】:
我想在一个 sql 查询中翻译一个模板。假设有以下四个表:state、stateProperty、state_stateproperty 和 translation:
state_stateproperty
|---------------------|--------------------|
| state_id | stateproperties_id |
|---------------------|--------------------|
| 1 | 2 |
|---------------------|--------------------|
| 1 | 3 |
|---------------------|--------------------|
状态属性
|---------------------|------------------|
| id | key | value |
|------|--------------|------------------|
| 2 | ${firstName} | John |
|------|--------------|------------------|
| 3 | ${lastName} | Doe |
|------|--------------|------------------|
状态
|---------------------|
| id | template |
|------|--------------|
| 1 | template |
|------|--------------|
翻译
|------------|--------------|---------------------------------|
| language | messageId | value |
|------------|--------------|---------------------------------|
| en | template | ${lastName}, ${firstName} alarm |
|------------|--------------|---------------------------------|
目的是获得一个名为 translatestate 的新实体,其中包含状态的已翻译模板。在这个例子中,翻译后的模板看起来像:“Doe, John alarm”。如何在原生 sql 中连接多对多表,并将状态模板与其相关状态属性的值进行转换?
【问题讨论】:
标签: sql postgresql replace many-to-many