泛微oaE9如何用sql语句取明细表的值并赋值给主表字段并用逗号隔开
时间: 2023-06-29 18:02:44 浏览: 1100
假设你要将明细表中的某一字段的值拼接成一个逗号隔开的字符串,然后赋值给主表的一个字段,可以使用以下 SQL 语句:
```sql
UPDATE 主表
SET 字段 = (
SELECT GROUP_CONCAT(明细表.某一字段 SEPARATOR ',')
FROM 明细表
WHERE 明细表.主表关联字段 = 主表.主表关联字段
)
```
其中,`主表` 和 `明细表` 分别表示主表和明细表的表名,`字段` 表示要赋值的主表字段,`某一字段` 表示要拼接的明细表中的某一字段,`主表关联字段` 表示主表和明细表之间的关联字段。
这个 SQL 语句会将明细表中符合条件的某一字段的值拼接成一个逗号隔开的字符串,然后赋值给主表的相应字段。如果需要更新多个字段,可以在 SET 子句中使用逗号分隔多个赋值操作。
相关问题
泛微oaE9中用js如何将明细表字段赋值到主表中,并用逗号分隔开
在泛微OA中,可以通过以下步骤将明细表字段赋值到主表中并用逗号分隔开:
1. 获取明细表中的字段值,可以通过以下代码实现:
```javascript
//获取明细表对象
var dtlTable = document.getElementById("明细表ID");
//获取明细表行数
var rowCount = dtlTable.rows.length;
//定义变量存储明细表字段值
var dtlFieldValues = "";
//遍历明细表行
for (var i = 0; i < rowCount; i++) {
//获取当前行
var row = dtlTable.rows[i];
//获取当前行中需要的字段值
var fieldValue = row.cells[列索引].innerText;
//将字段值添加到变量中
dtlFieldValues += fieldValue + ",";
}
//去掉最后一个逗号
dtlFieldValues = dtlFieldValues.substr(0, dtlFieldValues.length - 1);
```
2. 将明细表字段值赋值到主表中,可以通过以下代码实现:
```javascript
//获取主表字段对象
var mainField = document.getElementById("主表字段ID");
//将明细表字段值赋值到主表字段中
mainField.value = dtlFieldValues;
```
其中,需要替换代码中的"明细表ID"、"列索引"、"主表字段ID"为对应的实际值。
泛微oaE9同时update主表和明细表的字段该如何用sql语句实现
假设主表名为`main_table`,主表主键为`id`,明细表名为`detail_table`,明细表的外键为`main_id`,同时需要更新的字段分别为`main_field`和`detail_field`,可以使用以下 SQL 语句实现:
```
UPDATE main_table m
JOIN detail_table d ON m.id = d.main_id
SET m.main_field = 'new_value',
d.detail_field = 'new_value'
WHERE m.id = 'your_id';
```
其中,`JOIN`语句将主表和明细表连接,`SET`语句同时更新主表和明细表的字段值,`WHERE`语句指定要更新的主表记录的主键值。你需要将`your_id`替换为实际的主键值。
阅读全文
相关推荐













