Postgresql pgsql查询返回单行以查找同一日期的差异列总数

Postgresql pgsql查询返回单行以查找同一日期的差异列总数,postgresql,Postgresql,我有一个包含折扣代码、优惠券代码及其供应商名称的表。 优惠券代码:abc供应商:纽约 优惠券代码:def供应商:美国 另一个表包含订单详细信息,其中包含日期、优惠券代码、订单号 例如: 日期:2012-04-07优惠券代码:abc订单号:1 日期:2012-04-08优惠券代码:abc订单号:2 日期:2012-04-08优惠券代码:def订单编号:3 日期:2012-04-09优惠券代码:abc订单号:4 如何获取每天使用的代码总数? 预期结果 日期:纽约[abc]美国[def] 2012-0

我有一个包含折扣代码、优惠券代码及其供应商名称的表。 优惠券代码:abc供应商:纽约 优惠券代码:def供应商:美国 另一个表包含订单详细信息,其中包含日期、优惠券代码、订单号 例如:

日期:2012-04-07优惠券代码:abc订单号:1 日期:2012-04-08优惠券代码:abc订单号:2 日期:2012-04-08优惠券代码:def订单编号:3 日期:2012-04-09优惠券代码:abc订单号:4

如何获取每天使用的代码总数? 预期结果

日期:纽约[abc]美国[def] 2012-04-07 1 0 2012-04-08 1 1 2012-04-09 10

试试这个

Select date, 
       count(case when coupon_code = 'abc' then 1 else null end) as newyork,
       count(case when coupon_code = 'def' then 1 else null end) as usa
From tbl
group by date

谢谢,它起作用了。。但是,我如何使用折扣代码连接两个表,并在列名为newyork\u abc的情况下获得上述结果,而不必硬编码名称。以格式良好的方式发布表结构和示例数据