[英]On Transact-SQL: possible to build a statement to create a new column while using the data of another column all from the same table.
[英]How to loop data from a table in sql server and using the returned data to query another table. Please see
這是我要實現的目標:
我在數據庫中有一個表,其中有一個名為“ item_code”的列。
我需要查詢該表,一次返回一行。 現在,我需要對返回到查詢ANOTHER表的一行使用“ item_code”列的值,在這里我將使用它來獲取一堆行。 我該怎么做呢?
我嘗試在while循環中使用datareader對象,一次獲取一行,然后查詢該循環內的另一張表以獲取所需的行,但是我不知道如何將這些數據放入gridview中(使用datatable?如果是,怎么辦?)的方式是,在while循環的每次迭代之后都不會擦除gridview中的前幾行。
我知道的將數據放入gridview的唯一方法是使用.Fill(),但是顯然,在這種情況下Fill方法不會這樣做,因為它將清除gridview中的先前條目。
請幫忙。
我需要查詢該表,一次返回一行。 現在,我需要對返回到查詢ANOTHER表的一行使用“ item_code”列的值,在這里我將使用它來獲取一堆行。 我該怎么做呢?
您可以使用單個SQL查詢將“ item_code”上的兩個表連接起來,然后從第二個表中檢索結果。
您的解決方案將起作用,但是您是正確的,Fill()將擦除表中的內容。 而是使用Merge()
var myMainTable = new DataTable();
foreach(var itemId in itemIds)
{
var currentTable = new DataTable();
// submit new query
myAdapter.Fill(currentTable)
myMainTable.Merge(currentTable);
}
您可以一步一步將其設置為SQL級別,如下所示:
SELECT Table2.*
FROM Table2
INNER JOIN Table1 ON Table1.item_code = Table2.item_code
ORDER BY Table2.item_code
當然,如果您需要做一個較小的列表,也可以在WHERE
進行篩選。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.