我有一個項目具有asp頁面的動態字段詳細信息。執行該頁面時,將查詢數據庫中的動態字段列表,然後在asp頁面上運行時創建所有控件。現在,所有這些動態字段在另一個(或者說多個)表中都有對應的數據。T-SQL中的多項選擇並將一個單元格轉置到另一個單元格
在動態控制詳細表中的數據是這樣的:
FieldID | FieldName | MappingTableName | MappingColumnName
-------------------------------------------------------------------------
92 | txtPrsnFirstName | Table1 | FirstName
93 | txtPrsnLastName | Table1 | LastName
94 | ddlPrsnGender | Table2 | Gender
95 | txtCompany | Table2 | Company
96 | txtDesignation | Table1 | Designation
相應數據表中的數據如下所示:
表1:
PersonID | FirstName | LastName | Designation
-----------------------------------------
1 | Person1 | SomeName | Manager
2 | Person2 | MoreName | Executive
表2:
PersonID | Gender | Company
--------------------------------------
1 | Male | ABC Cons
2 | Female | XYZ PVT.LTD
現在,我所做的是,創建一個存儲過程,一次返回所有三個表數據,我會在DataSet
中獲取它們中的每一個,然後我將首先遍歷FieldTable數據,然後獲取從Table1
和Table2
相應的數據我需要編寫獲取的方式,從Table1
和Table2
數據會以多行的形式得到調換了數據的查詢(一次獲取只有一個記錄)像這個。
FieldID | FieldName | MappingTableName | MappingColumnName | Data
---------------------------------------------------------------------------------------
92 | txtPrsnFirstName | Table1 | FirstName | Person1
93 | txtPrsnLastName | Table1 | LastName | SomeName
94 | ddlPrsnGender | Table2 | Gender | Male
95 | txtCompany | Table2 | Company | ABC Cons
96 | txtDesignation | Table1 | Designation | Manager
如何找出哪個值屬於相應表中的哪個字段名?你怎麼知道名字的數據是Person1而不是Person2 – DhruvJoshi
請參閱我已經提到過會有一個選擇(你可以使用Join的邏輯)。意味着只有一個來自Table1和Table2的記錄將被立即提取。 (你的)前一個問題已經在(我的)問題中回答了;字段表具有'MappingTableName'和'MappingColumnName',可用於從數據表中選擇相應的數據。 – Cyberpks
但是,您如何知道該映射表和映射列中的哪條記錄,您知道,哪一行? – DhruvJoshi