vb.net - VB.NET-LINQ 比较两个数据表
问题描述
我有两个数据表(treno1 和 treno2),其中包含 10 列关于团体铁路预订的信息。我需要知道 treno1 中的某些值是否在 treno2 上,并捕获其他值:例如,我需要知道 treno1 中的姓氏是否在 treno2 中并获取其他信息(车号、座位等)
我从网上得到一个 json 预订。
With treno1
.Columns.Add("Departure", System.Type.GetType("System.String"))
.Columns.Add("Arrival", System.Type.GetType("System.String"))
.Columns.Add("PNR", System.Type.GetType("System.String"))
.Columns.Add("Level", System.Type.GetType("System.String"))
.Columns.Add("Last Name", System.Type.GetType("System.String"))
.Columns.Add("Car", System.Type.GetType("System.String"))
.Columns.Add("seat", System.Type.GetType("System.String"))
.Columns.Add("first name", System.Type.GetType("System.String"))
.Columns.Add("Train", System.Type.GetType("System.String"))
.Columns.Add("ID res", System.Type.GetType("System.String"))
End With
For Each item As JProperty In data
item.CreateReader()
For Each msg As JObject In item.Values
treno1.Rows.Add(msg("departureLocationName"), msg("arrivalLocationName"), msg("pnrCode"), msg("serviceLevel"), msg("lastName"), msg("wagon"), msg("seat"), msg("firstName"), msg("transportMeanName"), msg("Id"))
Next
Next`
怎么可能是查询?
Dim LastName = From n In treno1.AsEnumerable() From n1 In treno2.AsEnumerable
Where n.Field(Of String)("Last Name") = n1.Field(Of String)("Last Name") And n.Field(Of String)("Last Name") IsNot Nothing And n.Field(Of String)("first name") = n1.Field(Of String)("first name")
Select n1.Field(Of String)("Last Name") + " " + n1.Field(Of String)("first name") + " , " + n1.Field(Of String)("PNR") + " , " + n1.Field(Of String)("Departure") + " - " + n1.Field(Of String)("Arrival")
解决方案
推荐阅读
- apache-spark - GeoSpark 转换 SQL 函数失败
- python - TabError:使用 Sublime text 3 构建代码时,缩进中制表符和空格的使用不一致
- caching - 在搜索服务中添加缓存
- php - 如何访问远程 Oracle 服务器
- javascript - Javascript函数评估?
- java - 从下拉列表中选择的值应传递给 java 中的 if 语句
- c# - 在服务器端将字节保存为 excel 文件
- datatable - 如何使所有列在 KTDatatable 的移动设备中可见
- java - 得墨忒耳定律和函数内部的局部变量
- python - “()”在python日志配置中做了什么