我有以下在SSMS中正常工作的查询。使用LinqPad(C#),但实在令人费解与左外接替林在LinqToSql加入:通过内部连接和2个左侧连接(带子查询)的SQL到Linq转换
SELECT DISTINCT
A.LocID,
V1.PrfValue AS pID,
V2.PrfValue AS sID,
D.DivisionManager,
A.IsApproved,
A.DateCreated
FROM
dbo.Locations AS A
INNER JOIN
dbo.Divisions AS D
ON A.DivisionID = D.DivisionID
LEFT OUTER JOIN
dbo.ValuesInLocations AS V1
ON A.LocID = V1.LocID
AND
V1.PrfID IN (SELECT
PrfID
FROM
dbo.PrfTag
WHERE
(LevelTypeID = 1))
LEFT OUTER JOIN
dbo.ValuesInLocations AS V2
ON A.LocID = V2.LocID
AND
V2.PrfID IN (SELECT
PrfID
FROM
dbo.PrfTag
WHERE
(LevelTypeID = 2))
正如你所看到的,这是不是开始工作最优雅的查询,我同意两个左连接中的子查询都可以改进。不过,你能帮我翻译这个吗?
感谢üO.Askari!第二个例子就像一个魅力,从我身边做了一些小调整! – Shalan 2009-11-24 14:24:48
很高兴我能帮忙:) – 2009-11-24 16:33:44