sql - 如果多次找到一个字段,如何不获取数据
问题描述
我从安装和设备编号的查询中获得结果,但是如果我在安装中有多个设备,我想省略该数据。
select a~anlage, c~equnr
from eastl as a
inner join egerh as b on a~logiknr = b~logiknr and a~bis = '99991231' and b~bis = '99991231'
inner join equi as c on b~equnr = c~equnr and c~matnr = 'REGULATOR'
group by a~anlage, c~equnr
having count(*) = 1
我目前的结果如下所示:
anlage - equnr
111111 - 01012
111111 - 01013
111111 - 01014
222222 - 01015
222222 - 01016
444444 - 01017
我希望这样:
anlage - equnr
444444 - 01017
解决方案
看来您只需要按以下方式分组a~anlage
:
select a~anlage, max(c~equnr)
from eastl as a
inner join egerh as b on a~logiknr = b~logiknr and a~bis = '99991231' and b~bis = '99991231'
inner join equi as c on b~equnr = c~equnr and c~matnr = 'REGULATOR'
group by a~anlage
having count(*) = 1
推荐阅读
- r - 如何获取 geom_point 大小以反映实际值而不是相对值
- c# - 无法将 .bin.gz 文件添加为嵌入式资源
- azure-devops - 无法使用 Azure Devops 查询获得测试结果
- sql - 当组合框为空时如何设置查询条件以全选
- dart - Dart_LoadScriptFromKernel:二进制程序不包含'main'
- reactjs - React native:对象作为 React 子对象无效
- geolocation - Osmnx 在组合图中找不到节点之间的路径?
- wordpress - 如何修复 Google Maps API 中的错误以便使用 ACF 与 Wordpress 集成?
- python - 如何在 Pandas 中插入纬度/经度和航向
- mysql - 解决 codeigniter 框架中的数组错误