首页 > 解决方案 > 如何将 SQL 查询转换为 firebase 实时数据库查询?

问题描述

在这里,我试图获取客户一起购买的产品。这里的表

order
----
|id|
|--|
|1 |
|2 |
|3 |
|4 |
|5 |

order_item
----
|order_id|sku|
|------------|
|   1    | A |
|   1    | B |
|   1    | C |
|   2    | B |
|   2    | A |
|   3    | A |
|   4    | B |
|   4    | A |
|   5    | B |
|   5    | C |

这些是试图获得经常一起购买的产品的表

SQL查询:

    select a.sku, count(*) as pcount 
    from order_item a
    join (select distinct order_id from order_item where sku = 'A') b on (a.order_id = b.order_id)
    where a.sku != 'A' 
    group by a.sku 
    order by pcount desc;

输出:

|  sku |pcount|
|-----------  |
|   B  | 3    |
|   C  | 1    |

这里是firebase数据库查询

 this.db.list('/order_item',ref => ref.orderByChild('sku')).valueChanges().subscribe((tableoneresult) => {

  this.db.list('/order_item',ref => ref.orderByChild('sku').equalTo('A')).valueChanges().subscribe((res) => {
    console.log('related product table second '+res.length);
  });
  console.log('related product table one '+tableoneresult.length);
});

我想了解与产品 AI 一起购买的其他产品的数量,这些产品在 SQL 查询中得到了准确的输出,但在 ionic 的 angularfirelist firebase 实时数据库中不知道。谁能帮我解决这个问题。

提前致谢

标签: angularfirebasefirebase-realtime-databaseionic4angularfire

解决方案


推荐阅读