如何匯出一張表裡的同字段的多個字段值 遞迴

2021-09-25 08:31:23 字數 1579 閱讀 3834

如何匯出一張表裡的同字段的多個欄位的值呢?我在這裡用到的是遞迴的方法,那麼問題又來了,什麼是遞迴呢?

顧名思義,遞迴從字面的理解就是一層一層地傳遞下去,其實也是這樣的,遞迴的定義就是:

在函式的定義中使用函式自身的方法。看著這個定義確實難以理解,不過可以理解為迴圈的漸進,在使用遞迴的時候,需要注意的是要定義乙個從函式退出的條件,否則會進入死迴圈。

那麼接下來看一下遞迴的用法,首先來看一下例子的問題和效果圖。

例子:我要在匯出**商資訊的時候,將**商分類分四級匯出excel**。

資料庫表和**商分類的樹形圖:

效果圖:

如上圖,**商小思是在一級預設分類裡面的,而夏鷗是在一級分類預設分類下面的二級分類裡面的**商。

那麼是怎麼做到的呢?

步驟:1、在匯出的時候首先是進行資料的查詢與篩選。

2、然後通過查詢出來的資料拿來foreach迴圈,通過foreach迴圈找出**商名稱和

**商父級id,對**商名稱進行拼接。

3、對拼接好的**商名稱進行分割,判斷**商分類名稱的長度即乙個**商有哪幾個分類

下面。4、最後就對分類名稱賦值(剩下就是匯出資料的常規步驟,在這裡就不多講了,可以看我

的前幾期文獻)。

**:

string suppliertypename = "";    //定義乙個變數來接收**商分類名稱

string suppliertypenameall; //定義乙個變數來接收分割完的分類名稱

//資料查詢&條件篩選

listlistsupplier = (from tbsupplier in mymodels.pw_supplier

join tbsuppliertype in mymodels.sys_suppliertype on tbsupplier.suppliertypeid equals tbsuppliertype.suppliertypeid

orderby tbsupplier.supplierid

select new suppliervo).tolist();

foreach (var item in listsupplier)

catch (exception)

else if (suppliertypenameall.length == 2)

else if (suppliertypenameall.length == 3)

else if (suppliertypenameall.length == 4)

else

break;}}

}

Oracle一張表的多個字段更新到另一張表中去

假設表a中有多個字段 province city 需要從b表獲取 兩張表的mobile一樣 總結了幾種寫法。一 update a set a.province select province from b where b.mobile a.mobile update a set a.city sel...

sql 插入一張表的部分字段需要查詢另一張表

insert into 表a 欄位a,欄位b,欄位c select 欄位a 欄位b 欄位c from 表bwhere 條件insert into 表a 欄位a,欄位b,欄位c,欄位d select 欄位a 要插入的值 例 inserttest 不為在表b查詢到的值 用 包起來表示字串,方法,數值不用...

如何判斷多個字段組成的關鍵字在另外一張表中是否存在

如何判斷多個字段組成的關鍵字在另外一張表中是否存在 老帥 20141107 1.首先判斷乙個關鍵字在另外一張表中是否存在很容易!select from a where a.id inselect b.id from b 2.如果判斷的關鍵字有多個字段構成怎麼辦呢?你不能在in中使用多個字段。如下查詢...