我需要一些帮助用子查询编写LINQ查询 [英] I need some help writing a LINQ query with sub queries

查看:60
本文介绍了我需要一些帮助用子查询编写LINQ查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是 我正在尝试写的查询..

Here is  the query I'm trying to write ..

 

选择

 

*
来自 BlockOrderEvent

内部

 

join
on blockId
= BlockOrderEvent blockId
orderEvent
= BlockOrderEvent orderEvent
uniqueId
=( 选择
max uniqueId
来自
其中
blockId
= BlockOrderEvent blockId
AND
orderEvent = BlockOrderEvent orderEvent ))

join Blocks on Blocks.blockId = BlockOrderEvent.blockId and Blocks.orderEvent = BlockOrderEvent.orderEvent and Blocks.uniqueId =(Select max(Blocks.uniqueId) from Blocks where (Blocks.blockId = BlockOrderEvent.blockId) AND (Blocks.orderEvent=BlockOrderEvent.orderEvent))

其中

 

BlockOrderEvent orderEvent
= orderSubprocessEvent (orderSubprocessEvent传入调用此查询的函数)

我正在使用的两个查询是

 

Dim cassetteEventQuery =(
cassetteEventRecord
blockOrderEventDbUpdate.BlockOrderEvents
其中 cassetteEventRecord.orderEvent = subProcessEvent)

Dim cassetteEventQuery = (From cassetteEventRecord In blockOrderEventDbUpdate.BlockOrderEvents Where cassetteEventRecord.orderEvent = subProcessEvent)

 

Dim subQuery =
tempCassetteRecord
blockOrderEventDbUpdate.GetTable(
BlocksDatabase_MSDB.Block)()
其中 tempCassetteRecord.orderEvent = subProcessEvent
订单
tempCassetteRecord.uniqueId
降序
1

Dim subQuery = From tempCassetteRecord In blockOrderEventDbUpdate.GetTable(Of BlocksDatabase_MSDB.Block)() Where tempCassetteRecord.orderEvent = subProcessEvent Order By tempCassetteRecord.uniqueId Descending Take 1

我还在阅读帖子,但是如果有些想法可以了......那就太棒了!

< span style ="font-size:x-small"> TIA

Rob

 

 

 

推荐答案

Rob,

请尝试以下查询是否适用于您?

Try if the following query works for you ?

from itemOrderEvent in BlockOrderEvent
join itemBlock in Blocks on new
{
	blockId = itemOrderEvent.blockId,
	orderEvent = itemOrderEvent.orderEvent,
	uniqueId = (from block in Blocks
		    where (block.blockId == itemOrderEvent.blockId) &&
		  	  (block.orderEvent == itemOrderEvent.orderEvent)
		    select block.uniqueId).Max()
} equals new
{
	blockId = itemBlock.blockId,
	orderEvent = itemBlock.orderEvent,
	uniqueId = itemBlock.uniqueId
}
where itemOrderEvent.orderEvent = orderSubprocessEvent
select itemOrderEvent;


这篇关于我需要一些帮助用子查询编写LINQ查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆