我有sales_order表
entity_id state created_at
1 success 2020-05-01
2 fail 2020-05-01
3 success 2020-05-01
4 success 2020-05-01
5 process 2020-05-01
6 process 2020-05-01
7 process 2020-05-01
8 fail 2020-05-01
9 fail 2020-05-01
和sales_shipment表
entity_id order_id
1 1
2 1
3 2
4 2
5 3
6 4
7 4
8 4
9 5
10 6
11 6
12 6
13 6
14 7
15 7
16 8
17 9
18 9
19 9
20 9
我想从sales_shipment表中找出entity_id的计数,它对应于sales_order表中的success和process state orders
预期产出
Count
13
当我运行以下查询时,我没有得到所需的输出
select `entity_id` as tem, count(*) as cntsid
from `sales_order` a
inner join `sales_shipment` b on a.`entity_id`= b.`order_id`
where (`state` = 'success' or `state` = 'process')
group by tem
相反,我得到了
Column 'entity_id' in field list is ambiguous
请帮助处理此查询
您需要在第一行中为entity_id
添加表名或别名,在本例中我添加了a.
。 否则,引擎不知道要使用哪一列(查询中有两列entity_id
)。
您的查询应如下所示:
select a.`entity_id` as tem, count(*) as cntsid
from `sales_order` a
inner join `sales_shipment` b on a.`entity_id`= b.`order_id`
where (b.`state` = 'success' or b.`state` = 'process')
group by tem