| 识别号|TC_编号|结果|
| - ------|- ------|- ------|
| 1个|tc_1|通过|
| 1个|tc_2|通过|
| 1个|tc_3|未通过|
| 1个|四氯化钛|通过|
| 1个|tc_5|未通过|
| 第二章|tc_1|未通过|
| 第二章|tc_2|通过|
| 第二章|tc_3|未通过|
| 第二章|四氯化钛|未通过|
| 第二章|tc_5|未通过|
我正在尝试查找在相同"* TC_No "上和不同" ID "值之间具有冲突" Result *"的所有记录,通过ID IN (1,2)
进行过滤。
下面是预期输出:
| 识别号|TC_编号|结果|
| - ------|- ------|- ------|
| 1个|tc_1|通过|
| 1个|四氯化钛|通过|
| 第二章|tc_1|未通过|
| 第二章|四氯化钛|未通过|
和我尝试的查询:
SELECT * From
(SELECT * from Excel As T1
UNION
SELECT * from Excel As T2)
As c
where ID in(1,2) order By TC_NO
4条答案
按热度按时间wqsoz72f1#
查找每个tc_no的结果的非重复计数,然后选择count大于1的记录
mwyxok5s2#
您可以简单地将表
INNER JOIN
到其自身上,并在WHERE
子句中添加一个 predicate ,以便只返回不匹配的结果。sczxawaw3#
使用窗口函数检查过滤数据中的最大结果与最小结果何时不同。
检查here演示。
cl25kdpy4#
您可以使用分析函数COUNT()OVER()来查找具有不同内容的行,然后在Where子句中过滤结果:
使用示例数据:
......结果是:
| 识别号|TC_编号|结果|
| - ------|- ------|- ------|
| 1个|tc_1|通过|
| 1个|四氯化钛|通过|
| 第二章|tc_1|未通过|
| 第二章|四氯化钛|未通过|