【发布时间】:2023-01-30 10:03:46
【问题描述】:
select product_name ,0 price1,0 price2,0 price3,
(CASE when sum(price)>100 then 1 else 0 end) as price4,0 price5
from sales_1
group by product_name,price
union
select product_name ,0 price1,0 price2,0 price3, 0 price4,
(CASE when sum(price)<100 then 'yes' else 'no' end) as price5
from sales_1
group by product_name,price
我希望小于 100 的值变成“否”,其他值变成“是”,但它抛出一个错误,即“UNION 类型整数和文本无法匹配”。我尝试了不同类型的转换来解决它但是它没有。我在 postgresql 中做
【问题讨论】:
-
将该列转换为 TEXT,因为“是”和“否”不能是整数。
-
你能制定你的目标吗?一般在
group by中使用一列(price)和在sum中不是一个有意义的方法。 -
联盟上半年使用
'0' price5 -
@MarmiteBomber 实际上我想要价格栏中的特定日期数据,所以这就是我这样做的原因。我已经在这里发布了我的答案,它给出了我需要的结果。但是谢谢你!
标签: postgresql union-all