我正在努力使用一个join/where子句和一个相当简单的sql select语句。
我试图从tb 1中检索产品信息列表,其中where条件位于tbl 2中,但这必须由三个不同的列连接。
因此SQL将沿着以下行沿着:
SELECT tb1.*
FROM tb2 INNER JOIN
tb1 ON tb2.Col1 = tb1. Col1 AND tb2.Col2 = tb1. Col2 AND
tb2.Col3 = tb1.Col3
WHERE (tb2.Col1 = col1) AND (tb2.Col2 = col2) AND (tb2.Col4 = string)
ColX是主where子句,字符串作为参数传入;所有其他列都在上下文中。
如何使用where子句实现多个连接?
3条答案
按热度按时间l3zydbqr1#
要在LINQ中联接多个字段,必须创建一个新的匿名类型,其中包含要比较的列,然后在联接中使用该匿名类型:
这里是等效的Lambda函数:
正如您所看到的,在连接的情况下,查询语法通常会生成更易于阅读的语句。
tzcvj98z2#
您还可以在对要连接的表的引用中包含lamda语法中的WHERE子句。
现在看来很明显了,不是吗?我花了很长时间才找到解决办法。
8qgya5xd3#
你也可以分组结果和使用子查询
编号:join clause (C# Reference)