2014-11-02 63 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