下面您可以看到每个客户的几个产品条目和他们购买产品的时间。然而,我只对他们是否购买过产品1感兴趣,如果他们从未购买过,我会用产品x填充单元格,而不是跳过id。我正在使用Postgresql!
这是当前的表格:
这是我们想要的结果:
我正在尝试这张桌子,但它并没有提供我想要的东西。是否可以将第一个表转换为第二个表?
select distinct on ("id")
"id", "buying date", "product",
case when "product"='product 1' then 'product 1' else 'product x' as "Product2"
from product
order by 1,2
发布于 2021-01-20 03:15:10
如果我理解正确的话,您想要的逻辑应该在order by
子句中:
select distinct on ("id")
"id", "buying date", "product"
from product
order by id,
("product" = 'product 1') desc, -- put product1 first
"buying date";
对于布尔表达式,DESC
首先对true
值排序,然后对false
排序。
https://stackoverflow.com/questions/65797978
复制相似问题