多表关联关系json
最后更新:2025-07-24 11:08:52
|
状态:未完成
{
"table": "FI_USER", //主表
"alias": "FI", /别名
"distinct": "distinct", //去重
"joins": [ //关联表S
{
"table": "HR_USER", //关联表名
"alias": "HR", //关联表别名
"type": "LEFT", //关联方式
"conditions": { //关联条件 这里是逆向生成的所以属性比较复杂(完整)具体参考 ConfigStore<>JSON互换
"join": "AND",
"items": [
{
"join": "AND",
"text": "FI.ID = HR.ID",
"compare": 10,
"over_condition": false,
"over_value": true,
"parser": {
"compare": 10,
"join": "AND",
"swt": "NONE"
}
}
]
}
}
],
"columns": [ //需要查询的列 默认*
"FI.ID AS FI_ID",
"HR.ID AS HR_ID"
]
}
因为上面的conditions是逆向生成的所以与查询条件的属性一样,比较复杂,可以简化成成:
{"conditions":"HR.ID = FI.HR_ID"}
或
{"conditions":"HR.ID = FI.HR_ID AND HR.CODE = FI.HR_CODE"}
或
{"conditions":["HR.ID = FI.HR_ID","HR.CODE = FI.HR_CODE"]}
后台后收JSON后
service.querys(TableBuilder.build(json), 查询条件...);
查询参数与其他查询一样,参考【查询条件】conditions部分的完整格式参考【ConfigStore与json相互转换】与之等效的Java实现
TableBuilder builder = TableBuilder.init("FI_USER AS FI")
.left("HR_USER AS HR", "FI.ID = HR.ID")
.columns("FI.ID AS FI_ID", "HR.ID AS HR_ID").distinct(true);
RunPrepare prepare = builder.build();
ServiceProxy.querys(prepare);
TableBuilder与JSON互换
String json = builder.json();
【示例代码】【更多示例】