我需要一些帮助用子查询编写LINQ查询 [英] I need some help writing a LINQ query with sub queries
问题描述
这是 我正在尝试写的查询..
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屋!