假设我有这个表:
| 图像|周长|
| - -|- -|
| 一种|一个|
| B|一个|
| B| 2个|
| 日|三个|
| 电子|一个|
我想返回只与一个周长有关的图像。
预期结果将是图像“a、d、e,”因为图像“b”与周边“1”和“2”有关系。
目的是在删除周边时删除相关的图像,但如果它链接到另一个周边,我就不能删除它。
如何使用LINQ编写此查询?
我想应该是这样的:
SELECT "ImageId"
WHERE "PerimeterId" = PerimeterId IN
(
SELECT "ImageId"
GROUP BY "ImageId"
HAVING COUNT("PerimeterId") = 1
)
但我不知道如何将其转换为LINQ。
2条答案
按热度按时间tcomlyy61#
您可以使用
NOT EXISTS
bvjxkvbb2#
您可以很容易地将其修改为只选择图像部分。()”组计算,那么您将希望查看.SelectMany()LINQ方法.这允许您“将划分到组中的数据重新组合在一起.”虽然您的需要是只返回“每个组中的一个,”可以在SSDT 2015的“C#交互式窗口”中运行该程序: