根据条件从同一表中获取两个列值

本文关键字:两个 获取 条件 | 更新日期: 2023-09-27 18:06:31

我有两个表:

<>之前表product1有列:product_idprodcut_namecategory_id添加之前<>之前另一个表类别category_id添加category_namecategory_description之前

我正在使用DataGridView填充产品详细信息,并且工作正常。

我试图从同一表中获得两个列值取决于相同的条件,我已经得到下面的代码:

string desc = Convert.ToString(selectedRow.Cells["productdescr"].Value);
string productname = Convert.ToString(selectedRow.Cells["productnam"].Value);
string productprices = Convert.ToString(selectedRow.Cells["productprice"].Value);
int  productids = Convert.ToInt32(selectedRow.Cells["productid"].Value);

条件1:

int  categoryids = (from cats in tsg.product1
                    where cats.product_Name.Equals(productname)
                    select cats.category_Id).SingleOrDefault();

条件2:

var catogynames = (from categorytypes in tsg.categories
                   where categorytypes.category_Id.Equals(categoryids)
                   select  categorytypes.category_Name
                  ).SingleOrDefault();

条件3:

var categoprydecription = (from categorytable in tsg.categories
                           where categorytable.category_Id.Equals(categoryids)
                           select categorytable.category_Description
                          ).SingleOrDefault();

我想从条件2中获得categorytypes.category_descriptioncategorytypes.category_Name,是否有可能将这两个条件结合起来?(条件2和条件3)

根据条件从同一表中获取两个列值

我认为你可以这样做

(from categorytable in tsg.categories
where categorytable.category_Id == categoryids
select new {Name=categorytable.category_Name, 
            Description=categorytable.category_Description}).SingleOrDefault();

这将是一个匿名类,包含您想要的类别的名称和描述。