我需要在不同的条件和别名下输出一列两次。 注意:此列也是我从中提取的每个表的 PKEY
为简单起见,假设我要输出两次的列称为 COL1
- 我要输出的第一个版本的 COL1 包含 COL1 是唯一值的行让我们称之为“UniqueCol1”
- 我要输出的第二个版本的 COL1 包含 COL1 在数据集中多次出现的行让我们称之为“NonUniqueCol1”
我的查询中给我带来麻烦的部分是,对于 COL1 的每个版本,都需要满足许多其他不同的条件,涉及连接,而且我不知道在哪里输入我认为我需要的 COUNT 条件。
我在下面放置的代码本质上是我现在的查询。
Select T1.COL2, T1.COL3, count(T1.COL3) as Counted
FROM table1 T1
INNER JOIN table2 T2
ON T1.COL1 = T2.COL1
AND T1.COL2 = T2.COL2
AND T1.COL3 = T2.COL3
WHERE EXISTS
(
Select 1
FROM
table2 TT2
inner join table1 TT1
ON TT2.COL1 = TT1.COL1
WHERE TT2.COL4 ='A'
AND TT2.COL5 ='3'
AND TT2.COL6 <> '55555555'
AND TT1.COL7 = 'M'
AND TT2.COL2 = T1.COL2
AND TT2.COL3 = T1.COL3
)
Group BY T1.COL2, T1.COL3
HAVING count(T1.COL2) >=3;
这个查询的结果是这样的:
COL2 COL3 Counted
C0067 4355 3
D8120 5777 4
C4444 9009 3
TBC09 1133 3
C0999 4617 3
在那些计入 COL3 的条目中,有两个不同的 COL1
唯一的 COL1 值
多次出现的 COL1 值
My desired result is to print COL2, COL3, UniqueCOL1, and NonUniqueCOL1
感谢您的阅读,非常感谢您的帮助,因为 SQL 不是我的强项。