c# - 如何在c#或sql中从具有不同条件的同一张表中获取公共数据
问题描述
我有 2 个表,一个表由具有列 itemID、名称的项目组成
另一个表是位置,具有列为 ItemID、LocationID 每个项目可以有多个位置例如:我有 3 个项目鼠标、键盘、扬声器
- 鼠标在 4 个位置 - A、B、C、D
- 键盘在 2 个位置 - A,C
- 扬声器在 3 个位置 - A、B、C
现在我想在 c# 或 sql 中有一个代码,它将为我提供所有 3 个项目的公共位置,即当前示例中的 A。
解决方案
我想你想要:
select l.locationid
from locations l
group by l.locationid
having count(*) = (select count(*) from items);
这假定行在 中是唯一的locations
。否则,使用count(distinct itemid)
.
这是一个 db<>fiddle 说明它的工作原理。
推荐阅读
- pine-script - 并非所有订单都在交易视图 pinescript 策略中执行
- rust - 特征向下转换
- angular - 一个 @ngrx/effect 中的多个 Http 调用
- .net-core - DbContext.BeginTransactionAsync 有时需要几秒钟才能完成
- java - 如何为检查点建立JPA谓词属于给定的多边形
- struct - 如何在调试输出中打印完整的结构路径?
- javascript - Spectron app.start() 没有启动应用程序
- python - 使用熊猫进行字符串拆分
- python - 测试 peewee 应用程序:绑定在不同脚本中引用的模型
- c++ - 一个丑陋的函数找到小于给定键的最大 std::set 元素