我试了几个小时,读了很多帖子,但我仍然不知道如何处理这个请求:

我有一张这样的桌子:

+------+------+
|ARIDNR|LIEFNR|
+------+------+
|1     |A     |
+------+------+
|2     |A     |
+------+------+
|3     |A     |
+------+------+
|1     |B     |
+------+------+
|2     |B     |
+------+------+

我想选择使用不同LIEFNR多次出现的ARIDNR.

输出应该类似于:

+------+------+
|ARIDNR|LIEFNR|
+------+------+
|1     |A     |
+------+------+
|1     |B     |
+------+------+
|2     |A     |
+------+------+
|2     |B     |
+------+------+

推荐答案

这应该做到:

SELECT *
FROM YourTable
WHERE ARIDNR IN (
    SELECT ARIDNR
    FROM YourTable
    GROUP BY ARIDNR
    HAVING COUNT(*) > 1
)

其思想是使用内部查询来识别数据中出现1+次的ARIDNR值的记录,然后基于该组值从同一个表中获取所有列.

Sql相关问答推荐

按圆桌选择顺序?

根据 SQL 中另一表的选择从一个表中选择数据

对特定列区分大小写

达到总和后停止 SQL 选择

从 SQL Server 获取 JSON 形式的层次结构数据

如何获得给定时间段的最小值

如何删除具有重复列组合的行

可变字符串问题

如何在此 SQL 查询中使用 WHERE 子句?

根据 14 天间隔创建组

SQL 从调查中查找课程受欢迎程度

oracle json_value vs. json_table 解释查询计划

如何为原始类型(int,real ...)重载相等运算符?

应用 GROUP BY 后判断相同的数量

Android Room @Delete 带参数

ALTER TABLE DROP COLUMN 失败,因为一个或多个对象访问此列

NOT LIKE 和 LIKE 不返回相反的结果

无法访问 Big Query 中类型为 ARRAY> 的字段

从表中选择多个列,但按一个分组

postgresql - 查看架构权限