Sql 当另一列的对象相同时查询列更改

Sql 当另一列的对象相同时查询列更改,sql,Sql,目的:我需要查询项目编号和值,其中相同项目编号的值不同 表数据: 该表包含以下列:项、类型和值 项目CL1包含6行,4行的类型为p,2行的类型为K,所有6行的值均为10 项CL2包含6行,4行的类型为p,所有行的值均为1,2行的类型为K,两行的值均为9 项目CL3包含6行,4行的类型为p,3行的值为20,1行的值为3,2行的类型为K,两行的值均为15 项目CL4包含8行,6行的类型为p,所有行的值均为18,2行的类型为K,1行的值为11,另一行的值为7 所需结果:项CL1不应作为查询结果的一部分

目的:我需要查询项目编号和值,其中相同项目编号的值不同

表数据:

该表包含以下列:项、类型和值

项目CL1包含6行,4行的类型为p,2行的类型为K,所有6行的值均为10

项CL2包含6行,4行的类型为p,所有行的值均为1,2行的类型为K,两行的值均为9

项目CL3包含6行,4行的类型为p,3行的值为20,1行的值为3,2行的类型为K,两行的值均为15

项目CL4包含8行,6行的类型为p,所有行的值均为18,2行的类型为K,1行的值为11,另一行的值为7

所需结果:项CL1不应作为查询结果的一部分返回,但项CL2、项CL3和项CL4应返回


我不知道从哪里开始。

首先,您应该始终以这种格式表示示例数据和所需的输出

ITEMS  TYPE  VALUE
 CL1    P     10
 CL1    K     10
 CL2    P     1
 CL3    P     1
 CL4    K     9
 CL4    K     9
让我们假设表名为TableA

正如你提到的

我需要查询项目编号和值,其中值为 对于相同的项目编号,则不同

我们需要知道所有具有多个值的项目编号,以便使用函数

SELECT Items FROM TableA GROUP BY Items HAVING COUNT(Value)>1
由于您不希望结果集中出现CL1项,所以应该添加一个子句

因此您的查询是

SELECT Items, Type, Value
FROM TableA
WHERE Items!= 'CL1'
AND Items IN (SELECT Items FROM TableA GROUP BY Items HAVING COUNT(Value)>1)

请添加更多样本数据,并以表格形式为样本数据添加预期输出。还要提到您正在处理的数据库
SELECT Items, Type, Value
FROM TableA
WHERE Items!= 'CL1'
AND Items IN (SELECT Items FROM TableA GROUP BY Items HAVING COUNT(Value)>1)