angular - 如何将 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 实时数据库中不知道。谁能帮我解决这个问题。
提前致谢
解决方案
推荐阅读
- c - 是否可以使用具有误导性语法的 for 循环?
- jquery - 使用 Jquery,我可以在移动浏览器中阻止横向模式吗?
- java - 从 html - 本地网站 - java - jsoup 读取实时数据
- openssl - 如何在终端将十六进制哈希转换为二进制?
- python - 使用 Cerberus 基于条件验证依赖关系
- node.js - 如何在我的 nodejs 文件中获取变量的值
- c# - Linq - 如何在 where 子句中使用 2 列
- javascript - Angular *ngIf 与基于结果模型的异步管道内部条件
- android - CS50 Android Pokedex:为什么我的“Catch Pokemon”按钮只能使用一次?
- node.js - MongoDB重复值错误,即使我不希望它是唯一的