我将从Oracle数据库中检索数据.它有你在下面的图片中看到的桌子.(表名为ATTRIBUTE_TAB)

我想问一下:

IF(VALUE_NO=‘6000’VALUE_TEXT=‘TEMED’VALUE_TEXT=BLUE),但这些行的ID必须相同.

我在下面的图片中解释了.

我的疑问是

SELECT * FROM ATTRIBUTE_TAB
WHERE VALUE_NO='6000' OR VALUE_TEXT='TEMPERED'OR VALUE_TEXT='BLUE

但我无法将身份信息整合到代码中.

enter image description here

推荐答案

您可以使用聚合,如下所示:

SELECT * FROM ATTRIBUTE_TAB
  WHERE ID IN
  (
    SELECT ID FROM ATTRIBUTE_TAB
    WHERE VALUE_NO='6000' OR VALUE_TEXT='TEMPERED'OR VALUE_TEXT='BLUE'
    GROUP BY ID
    HAVING COUNT(*) = 3 -- or maybe HAVING COUNT(DISTINCT ATTRIBUTE) = 3 if duplicates are possible 
  )
ORDER BY ID, ATTRIBUTE DESC

demo

Sql相关问答推荐

Microsoft Access UNION将长文本字段限制为255个字符

如何在联接条件不匹配时按日期获取上一条记录

基于多个字段删除Access中的重复记录,同时保留最低优先级

Select 起始参数和截止参数之间的间隔,包括与期间重叠的参数

为什么在postgres中,横向连接比相关子查询快?

更新PostgreSQL 15中的JSON值

如何从JSON数组中 Select 多个值

使用Kotlin Exposed SQL DSL Select 多个值并排序

从数据库中查找总和大于或等于查询中的数字的数字

Oracle中的时间戳

基于是否具有某些数据的关联表覆盖SELECT语句中的列值

如何使用最后一个非 NULL 值在 PostgreSQL 列中填充 NULL 值

复制行并根据 Oracle SQL 中其他表的值更改值

如何在 ClickHouse SQL 中使用 CTE 将邻居语句中的数字作为偏移量传递?

如果 SQL 中不存在数据,如何根据某个 ID 为所有日期添加前一行

Postgres:表的累积视图

如何从 2 个 SQLite 表构建嵌套对象?

使用 SAVE TRANSACTION 时 BEGIN 和 COMMIT 语句的数量不匹配

来自 SQL Server 的树层次 struct 图的 JSON

如何根据 ID 和指标从 2 个表中找到不同的值?