你好我正在工作RUBY ON RAILS项目我有问题,我有两个表名 - 停车场 - 汽车 在停车场:
1 | A | 2
2 | B | 3
3 | C | 4
4 | D | 2
在汽车表中:
1 | 12 | 1
2 | 15 | 3
3 | 16 | 2
4 | 18a | 3
5 | 45v | 1
6 | 65f | 2
加入表格查询:detail = Parking.joins(:cars).select('parking_id, place_name, no_of_places, count(parking_id) as Alloted, no_of_places - count(parking_id) as Remaining').group('place_name')
结果:
A | 2 | 2 | 0
B | 3 | 2 | 1
C | 4 | 2 | 2
所以我的问题是在加入两个表并进行一些计算时我错过了一些行,我也想要显示它们。我现在必须做什么。
答案 0 :(得分:0)
您可以像{{1}}
一样查询答案 1 :(得分:0)
joins
将进行内部联接,并在没有车辆的情况下停止停车记录。
相反,你能做includes
吗?或.left_outer_joins
detail = Parking.left_outer_joins(:cars).
select('parking_id, place_name, no_of_places, count(parking_id) as Alloted, no_of_places - count(parking_id) as Remaining').
group('place_name')