に参加し、私はC#の で動的SQLクエリを作成していために参加が、コードはアウトプットがMS SQLインナーこんにちは私はインナーに関する問題を抱えているためエラー
select p.CategoryId,p.Name,[dbo].CampaignProduct.CampaignId,
[dbo].CampaignProduct.ProductId,[dbo].Category.Name
from CampaignProduct
inner join Category ON p.CategoryId=Category.Id
Inner join Campaign ON CampaignProduct.CampaignId=Campaign.Id
Inner join Product p ON CampaignProduct.ProductId=p.Id
が、このクエリカントの仕事である実行時に。しかし、これを私に変更するとき
select p.CategoryId,p.Name,[dbo].CampaignProduct.CampaignId,[dbo].CampaignProduct.ProductId,[dbo].Category.Name
from CampaignProduct
Inner join Product p ON CampaignProduct.ProductId=p.Id
inner join Category ON p.CategoryId=Category.Id
Inner join Campaign ON CampaignProduct.CampaignId=Campaign.Id
私の問題はこれを解決するチャンスがあるのですか?または、私は注文内部結合をコードする必要がありますか?
私のコードブロックここ
string qry = "";
string select = "select ";
string from = " from ";
string firstfrom = "";
string inners = "";
var res=JsonConvert.DeserializeObject<List<QueryCreatorType>>(data);
foreach (var item in res)
{
select += $"[dbo].{item.Table}.{item.Column},";
if (String.IsNullOrEmpty(firstfrom))
{
firstfrom += $" {item.Table}";
}
if (!String.IsNullOrEmpty(item.Parent))
{
inners += $" Inner join {item.Parent} ON {item.Table}.{item.Column}={item.Parent}.Id";
}
}
qry = select + from+firstfrom+inners;
結合名にエイリアスを付けることを忘れないでください。その良い練習 – plaidDK
私はそれを知っているが、それはあなたに何かを変更しないでください。 –
'または私は注文内部結合をコードする必要がありますか? 'はい。 – mjwills