我有一个数据库表Tb1,其中包含n列和m行数。
Tb1 ======================================== field_0... field_k... field_p... field_n
这是我需要在SQL中表达的伪代码
if(count(select distinct Tb1.field_k) > 1) return "string_literal" else return Tb1.field_p
结果集应该有m个行数。
答案 0 :(得分:2)
SELECT
CASE
WHEN x.testcase > 1 THEN "string_literal"
ELSE Tb1.field_p
END AS SomeCol
FROM
Tb1
CROSS JOIN
(
SELECT COUNT (DISTINCT Tb1.field_k) AS testcase
FROM Tb1
) x
注意: