我想在C#中使用LINQ編寫以下SQL查詢,獲得相同結果的最佳方法是什麼?SQL到LINQ條款
SELECT [t1].[JOB]
FROM (
SELECT COUNT(*) AS [value], [t0].[JOB], [t0].[LINK], [t0].[PREFIX]
FROM [dbo].[LABELS] AS [t0]
GROUP BY [t0].[JOB], [t0].[LINK], [t0].[PREFIX]
HAVING [t0].[PREFIX] = 'B' AND [t0].[LINK] != 0
) AS [t1]
GROUP BY [t1].[JOB], [t1].[value]
HAVING [t1].[value] > 1
標籤在字段JOB和LINK上應該是唯一的,組合不應該重複。這個查詢是檢查哪些作業打破該規則
編輯:我的LINQ到目前爲止,它不會產生預期的結果。
dbP.PackagingLabels.GroupBy(l => new {l.JOB, l.LINK, l.PREFIX})
.Where(g => g.Select(e => e.PREFIX != "B" && e.LINK != 0).Count() > 1)
.Select(g => g.Key.JOB);
您目前爲了解決這個問題而嘗試做什麼以及您的解決方案存在哪些問題? – Servy 2014-08-28 20:55:34
雖然您提供給我們參考的SQL很好,但我們也需要知道您在LINQ中擁有哪些功能,以確定您在哪裏陷入困境。 – user2366842 2014-08-28 20:56:46
內部'HAVING'子句中的所有內容都屬於where子句。 – AaronLS 2014-08-28 20:59:10