首页 > 解决方案 > 如何在c#或sql中从具有不同条件的同一张表中获取公共数据

问题描述

我有 2 个表,一个表由具有列 itemID、名称的项目组成

另一个表是位置,具有列为 ItemID、LocationID 每个项目可以有多个位置例如:我有 3 个项目鼠标、键盘、扬声器

现在我想在 c# 或 sql 中有一个代码,它将为我提供所有 3 个项目的公共位置,即当前示例中的 A。

标签: c#sql

解决方案


我想你想要:

select l.locationid
from locations l
group by l.locationid
having count(*) = (select count(*) from items);

这假定行在 中是唯一的locations。否则,使用count(distinct itemid).

是一个 db<>fiddle 说明它的工作原理。


推荐阅读