我在csharp上工作,我需要基于内部连接select语句生成select语句,但是我无法修改它
我需要获取字段,键和表以生成内部联接选择语句,如下所示:
从中选择FooterTable.ItemCode,FooterTable.Quantity,FooterTable.UniPrice
主表内部联接MasterTable.Serial = 页脚表.Serial,MasterTable.BranchCode = 页脚表.BranchCode,MasterTable.Year = 页脚表.Year上的FooterTable
其中MasterTable.Serial = 10 AND 主表.Year = 2019 AND 主表.BranchCode = 1
我试图通过csharp获得以下结果:
公共字符串GetSelectStatement(字符串JsonDataForSelect)
{
var root =(JObject)JsonConvert.DeserializeObject(JsonDataForSelect);
var查询="";
var items = root.SelectToken("Details").Children().OfType<JProperty>().ToDictionary(p => p.Name, p => p.Value);
foreach(项目中的var个项目)
{
如果(item.Key =="table")
{
var 表Name = item.Value;
查询= 串.Format("从表{0}的内部联接表{1}中选择,其中", 表Name);
}
否则如果(item.Key =="keys")
{
var键= item.Value.SelectToken("").OfType<JProperty>().ToDictionary(p => p.Name, p => p.Value);
var count = 0;
foreach(密钥中的var id)
{
数++;
如果(count == key.Count())
{
查询+ = 串.Format("{0} = {1}", id.Key, id.Value);
}
其他
{
查询+ = 串.Format("{0} = {1} and ", id.Key, id.Value);
}
}
}
}
返回查询;
}
json字符串我从中生成sql
{
"Details":{
"table":[
"MasterTable",
"FooterTable"
],
"fields":{
"ItemCode":"string",
"Quantity":"int",
"Price":"decimal"
},
"keys":{
"BranchCode":1,
"Year":2019,
"Serial":2
}
}
}
我需要获取字段,键和表以生成内部联接选择语句,如下所示:
从中选择FooterTable.ItemCode,FooterTable.Quantity,FooterTable.UniPrice
主表内部联接MasterTable.Serial = 页脚表.Serial,MasterTable.BranchCode = 页脚表.BranchCode,MasterTable.Year = 页脚表.Year上的FooterTable
其中MasterTable.Serial = 10 AND 主表.Year = 2019 AND 主表.BranchCode = 1
我试图通过csharp获得以下结果:
公共字符串GetSelectStatement(字符串JsonDataForSelect)
{
var root =(JObject)JsonConvert.DeserializeObject(JsonDataForSelect);
var查询="";
var items = root.SelectToken("Details").Children().OfType<JProperty>().ToDictionary(p => p.Name, p => p.Value);
foreach(项目中的var个项目)
{
如果(item.Key =="table")
{
var 表Name = item.Value;
查询= 串.Format("从表{0}的内部联接表{1}中选择,其中", 表Name);
}
否则如果(item.Key =="keys")
{
var键= item.Value.SelectToken("").OfType<JProperty>().ToDictionary(p => p.Name, p => p.Value);
var count = 0;
foreach(密钥中的var id)
{
数++;
如果(count == key.Count())
{
查询+ = 串.Format("{0} = {1}", id.Key, id.Value);
}
其他
{
查询+ = 串.Format("{0} = {1} and ", id.Key, id.Value);
}
}
}
}
返回查询;
}
json字符串我从中生成sql
{
"Details":{
"table":[
"MasterTable",
"FooterTable"
],
"fields":{
"ItemCode":"string",
"Quantity":"int",
"Price":"decimal"
},
"keys":{
"BranchCode":1,
"Year":2019,
"Serial":2
}
}
}
Last edited: