需要使用 sql 查询根据 Table 1 中出现的结果导出 Table 2 中的出现次数
Need to derive count of occurrence in Table 2 based on the results of Occurrence in Table 1 using sql query
Table_1 有 order_id、country_id 详细信息
table_ID order_id country_id
1 100 IN
2 200 USA
3 300 UK
4 400 IN
5 500 UK
6 600 UK
7 700 USA
8 800 USA
9 900 IN
10 1000 UK
Table_2 有 shipment_id、order_id 详细信息
Shipment_ID order_id
1 100
2 100
3 100
4 200
5 200
6 300
7 300
8 400
9 500
11 500
12 600
13 700
14 700
15 700
16 700
17 800
18 800
19 800
20 900
21 900
22 1000
23 1000
24 1000
我使用以下查询找出 order_id 的列表,这些列表用于 country_id='IN'
select `order_id`
from `Table_1`
where `country_id` = 'IN';
order_id
100
400
900
我需要指导来编写查询以查找 shipment_id 的计数,这些计数将从 'IN'[= 映射到 order_id 17=]
所以order_id100有3批,400有1批,900有2批
期望的最终输出
count_of_shipment_id
6
这是您需要的查询:
SELECT country_id, count(*) as count_of_shipment_id
FROM Table_1 a
inner join Table_2 b on a.`order_id` = b.`order_id`
group by country_id
如果您只需要一个国家/地区,您可以随时添加 "where" 或 "having" 来过滤结果。
在这里你可以看到你发布的示例:
http://sqlfiddle.com/#!9/c90424/2
Table_1 有 order_id、country_id 详细信息
table_ID order_id country_id
1 100 IN
2 200 USA
3 300 UK
4 400 IN
5 500 UK
6 600 UK
7 700 USA
8 800 USA
9 900 IN
10 1000 UK
Table_2 有 shipment_id、order_id 详细信息
Shipment_ID order_id
1 100
2 100
3 100
4 200
5 200
6 300
7 300
8 400
9 500
11 500
12 600
13 700
14 700
15 700
16 700
17 800
18 800
19 800
20 900
21 900
22 1000
23 1000
24 1000
我使用以下查询找出 order_id 的列表,这些列表用于 country_id='IN'
select `order_id`
from `Table_1`
where `country_id` = 'IN';
order_id
100
400
900
我需要指导来编写查询以查找 shipment_id 的计数,这些计数将从 'IN'[= 映射到 order_id 17=]
所以order_id100有3批,400有1批,900有2批
期望的最终输出
count_of_shipment_id
6
这是您需要的查询:
SELECT country_id, count(*) as count_of_shipment_id
FROM Table_1 a
inner join Table_2 b on a.`order_id` = b.`order_id`
group by country_id
如果您只需要一个国家/地区,您可以随时添加 "where" 或 "having" 来过滤结果。
在这里你可以看到你发布的示例: http://sqlfiddle.com/#!9/c90424/2