2014-11-02 64 views
1

我想创建一个查询,动态地影响我表中的多行。sql查询动态地影响多行

1)每行代表一个供应商,其服务价格不同。

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

3)根据回答“Yes or no”的问题,每个答案都会标记价格上涨或不上涨。

4)这些价格上涨或多或少严重取决于供应商。 5)在作为客户登录并填写上述调查时,我想创建一个查询,将您的信息与提供所选产品的所有供应商进行比较。

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

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

如果客户用“否”回答问题1,则供应商1将多收取100美元。

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

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

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

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

如果客户用“否”回答问题2,则供应商3将多收取40美元。

我想显示以下客户考虑所有价格暴涨考虑所有价格冲高后

供应商2名/价格后提交调查后,在数据网格

供应商1名/价格

卖方3在考虑所有价格上涨后的名称/价格

+0

那么,你到目前为止尝试过什么? – 2014-11-02 21:15:24

回答

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; 
} 

这将是更深的,但你的信息很模糊。如果您想要更清晰的答案,请发布您的代码。

+0

如果客户选择产品X,则列出所有提供产品X及其价格的供应商。 (注意:供应商设置了基准价格。我想列表价格受试者基于I上面讨论的调查)来改变 ((如果问题1 =真,那么价格=价格* A,其中A是由供应商所指示的增加 + 如果问题2 =真,那么价格=价格* B,其中B是由供应商所指示的增加 + 如果问题3 =真,那么价格=价格* C其中,C是由供应商指示的增加) 分由Z,其中Z等于表中回答True的总问题数。) – 2014-11-03 14:56:26

+0

我正在寻找的主要功能是数据集和数据行,以定位表的行。另外,是否有一种方法来标准化你的数据行陈述?该表中供应商的数量不固定,我想为表中的每一行运行上述伪代码查询。 – 2014-11-03 14:58:22

+0

http://www.dotnetperls.com/dataset检查链接并花时间阅读。数据很复杂,你需要了解它。 – 2014-11-03 18:08:43