我正在嘗試將包含列名稱的表 A 規范化,其中名稱由“/”連接并分隔到表 B 中,其中名稱被拆分為行,狀態被復制到新行中。我用谷歌搜索并嘗試過沒有成功,請幫助。
表一
| 姓名 | 狀態 |
|---|---|
| 肯/特麗/羅伯托 | 紐約 |
| 大衛/肯 | 芝加哥 |
| 凱文/約翰/瑪麗 | 新澤西州 |
表-B
| 姓名 | 狀態 |
|---|---|
| 肯 | 紐約 |
| 特麗 | 紐約 |
| 羅伯托 | 紐約 |
| 大衛 | 芝加哥 |
| 肯 | 芝加哥 |
| 凱文 | 新澤西州 |
| 約翰 | 新澤西州 |
| 瑪麗 | 新澤西州 |
uj5u.com熱心網友回復:
您可以使用SelectMany(),Select()和 的組合Split()
輸入
var tableA = new []
{
new {Name = "Ken/Terri/Roberto", State = "New York"},
new {Name = "David/Ken", State = "New York"},
new {Name = "Kevin/John/Mary", State = "New York"}
};
林克
var result = tableA.SelectMany(x => //Flatten the given sequence
x.Name.Split('/') //Split each name by '/'
.Select(y => new {Name = y, State = x.State})); //Create Anonymous object for each name
在線試用
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/340916.html
上一篇:Linq選擇物體屬性值與另一個串列中任何專案的屬性值匹配的位置
下一篇:C#從子組中選擇重復項
