当一列有多个值时,我希望显示静态值'More than one Value'
,否则我希望保留原始列值。
这样就得到了我想要的结果,但结果仅限于HAVING COUNT(B.COL3) > 1
条件:
SELECT
A.COL1,
A.COL2,
'More than one Value' AS COL3
FROM TBL1 A
RIGHT JOIN TBL2 B ON A.TBL1-ID = B.TBL2-ID
GROUP BY A.COL1, A.COL2
HAVING COUNT(B.COL3) > 1;
这个失败了
SELECT
A.COL1,
A.COL2,
CASE WHEN COUNT (B.COL3) >1 THEN 'More than one Value' ELSE B.COL3 END AS COL3
FROM TBL1 A
RIGHT OUTER JOIN TBL2 B ON A.TBL1-ID = B.TBL2-ID
GROUP BY A.COL1, A.COL2;
下面是数据的模型
| COL1| COL2| COL3|
| - ------|- ------|- ------|
| A类|B| C级|
| A1|地下一层|多个值|
1条答案
按热度按时间ogq8wdun1#
假设
B.COL3
是字符串,则:如果不是字符串,则使用
TO_CHAR(MAX(B.col3))
。其中,对于示例数据:
输出:
| COL1| COL2| COL3|
| - ------|- ------|- ------|
| A类|B| C级|
| A1|地下一层|多个值|
fiddle