Vb.net 将列的值转换为一行
我是LINQ的新手。我已经尝试了两种方法,但我无法得到我想要的结果。 请帮忙解决这个问题。VB.NET中的LINQ到SQL 我使用lingtosql类来运行查询以获得预期的结果。 查询结果结束后,我将使用它填充Datagridview。 我找不到以下问题的解决办法。有人能帮忙吗? 谢谢 表:Vb.net 将列的值转换为一行,vb.net,linq,Vb.net,Linq,我是LINQ的新手。我已经尝试了两种方法,但我无法得到我想要的结果。 请帮忙解决这个问题。VB.NET中的LINQ到SQL 我使用lingtosql类来运行查询以获得预期的结果。 查询结果结束后,我将使用它填充Datagridview。 我找不到以下问题的解决办法。有人能帮忙吗? 谢谢 表: bookID authorID authorname 111 101 Mark 222 102 Tim 333 103 John 444
bookID authorID authorname
111 101 Mark
222 102 Tim
333 103 John
444 104 Rebecca
111 102 Tim
111 103 John
222 104 Rebecca
结果应该是:
bookID author1 author2 author3....
111 Mark Tim John
222 TIm Rebecca N/A or Empty
333 John N/A or Empty N/A or Empty
444 Rebecca N/A or Empty N/A or Empty
我只能使用LINQ。您可以使用该方法来完成此操作
或者如果您更喜欢linq查询语法
Dim results = _
From b In db.Books _
Group b.authorname By bookID = b.bookID Into authorname = Group
你可以把它当作
For Each group In results
Console.Write(group.Key)
Console.Write(":")
For Each name As String In group
Console.Write(" " & name)
Next
Console.WriteLine()
Next
输出
111: Mark Tim John
222: Tim Rebecca
333: John
444: Rebecca
欢迎来到堆栈溢出!1.请注意,以合理的方式格式化您的帖子确实有助于提高可读性。(我已经编辑过了,但请下次,从一开始就自己花点时间来做。)。这与VB.NET有什么关系?=>请编辑您的问题并解释您正在尝试做什么,显示VB.NET代码中的相关位,并解释它如何不做您期望的事情。谢谢谢谢你的快速回复。实际上,我只需要一个带有LINQ语句的查询。只要修改一下问题。@tim这个问题是我回答的第一行。剩下的只是通过阅读代码来演示结果。我得到了预期的结果。谢谢。!!实际上我变了一点。请看我的答案。非常感谢。@tim是的,很抱歉我的vb.net有点生锈了。这些天我主要写c#。
111: Mark Tim John
222: Tim Rebecca
333: John
444: Rebecca
Dim results = From b In db.Books Group b.authorname _
By bookID = b.bookID Into nameg = Group select bookid,nameg
For each gr in results
Console.Write(gr.bookid)
Console.Write(":")
For Each name As String In gr.nameg
Console.Write(" " & name)
Next
Console.WriteLine()
Next