我想计算每个项目的购买次数,同时根据谁在查看内容,显示用户是否购买了内容。因为物品和购买的数量可能会变得很大,所以我不愿意投入更多JOINs
来实现这一点,因为那样看起来效果不佳。
基本上,我想did_i_buy
在以下查询中的某处有一个字段,而不添加另一个JOIN
. 这可能吗?让我们说user_name=tom
:
SELECT Items.item_id, item_name, COUNT(purchase_status='bought') as number_bought
FROM Purchases
JOIN Items ON Purchases.item_id=Items.item_id
GROUP BY Items.item_id
这是我的数据库结构:
Table Items
item_id item_name
1 item_1
2 item_2
3 item_3
Table Purchases
item_id purchase_status user_name
1 bought joe
2 bought joe
1 bought tom
1 bought bill
期望的结果tom
item_id item_name number_bought did_i_buy
1 item_1 3 yes
2 item_2 1 no