sql查询动态影响多行

时间:2014-11-02 21:11:35

标签: sql asp.net vb.net

我正在尝试创建一个动态影响表中多行的查询。

1)每行代表一个具有不同服务定价的供应商。

2)定价取决于客户如何回答调查。

3)每个答案都会根据回答问题标记价格高峰,"是或否"。

4)根据供应商的不同,这些价格上涨或多或少都很严重。

5)在作为客户登录并填写调查时,我想创建一个查询,将您的信息与提供所选产品的所有供应商进行比较。

有人能告诉我如何创建此查询吗?到目前为止,我已将所有客户的答案存储在各个会话中。

我的供应商数据库如下 vedor名称/基准价格/问题1 - 如果客户回答“否”/问题2 - 价格飙升,如果客户回答“否”/问题3 - 价格飙升,如果客户回答“否”

如果客户使用' no'回答问题1,则供应商1将收取100美元以上的费用。

如果客户使用' no'回答问题1,则供应商2将收取50美元以上的费用。

如果客户使用' no'回答问题1,则供应商3将收取20美元以上的费用。

如果客户使用' no'回答问题2,则供应商1将收取10美元以上的费用。

如果客户使用' no'回答问题2,则供应商2将收取15美元以上的费用。

如果客户使用' no'回答问题2,则供应商3将收取40美元以上的费用。

我希望在客户在数据网格中提交调查后显示以下内容

供应商1名称/价格考虑所有价格高峰后

供应商2名称/价格考虑所有价格高峰后

供应商3名称/价格考虑所有价格高峰后

1 个答案:

答案 0 :(得分:1)

您需要使用变量来存储数字。查询您的数据库以获取每个供应商的编号。

类似的东西:

 string sqlVendor1 = "Select * from VendorTable Where VendorID = 'Whatever'";
 DataSet ds = Conn.CreateDataSet(sql)
 DataRow dr = ds.Tables[0].Rows[0]

 string sqlVendor2 = "Select * from VendorTable Where VendorID = 'Whatever'";
 DataSet ds2 = Conn.CreateDataSet(sql)
 DataRow dr2 = ds2.Tables[0].Rows[0]

 Int32 Vendor1 = Convert.ToInt32((dr["BasePrice"]));
 Int32 Vendor2 = Convert.ToInt32((dr2["BasePrice"]));

 if (cbQuestion1.Checked)
 {
//Add whatever to the variable as they make the selections.
 Vendor1 = 400;
}
else if (cbQuestion2.Checked)
{
 Vendor2 = 500;
}

它会更深入,但您的信息非常模糊。如果您想要更清楚的答案,请发布您的代码。