【发布时间】:2021-05-17 08:22:58
【问题描述】:
我正在尝试使用三个不同的表格来获取美国所有麦当劳的列表,按 100 英里内的汉堡王数量排序。出于某种原因,我很难解决这个问题,我想知道是否有人可以就他们如何解决这样的问题提供任何建议?
我有一张包含所有麦当劳邮政编码的表格,一张包含汉堡王数量的所有邮政编码的表格,以及一张彼此相距 100 英里以内的所有邮政编码的表格。例如:
Mcdonalds表:
| NAME | zip |
|---|---|
| McDonalds Park Terrace | 11121 |
| McDonalds HWY 103 | 11412 |
| McDonalds Crestwood | 11121 |
| McDonalds Pendleton | 26566 |
| McDonalds Smithville | 67742 |
| McDonalds HWY 66 | 43351 |
BKzips表:
| zip | numberBKs |
|---|---|
| 11121 | 2 |
| 11412 | 0 |
| 26566 | 6 |
| 43351 | 0 |
| 67742 | 3 |
| ... | ... |
zipproximity表:
| zip1 | zip2 | distancebetween |
|---|---|---|
| 11121 | 11412 | 23.443 |
| 11121 | 26566 | 48.211 |
| ... | ... | ... |
| 11412 | 11121 | 23.443 |
我想要的最终结果是一个表格,每个麦当劳都有一行,列出了麦当劳 100 英里内的所有拉链及其 BK 总数。例如:
| McDonalds | zip | zipsWithBKs | totalBKs |
|---|---|---|---|
| McDonalds Park Terrace | 11121 | 26566, 11412 | 6 |
我已经能够使用内部连接来获得一个带有 BK 的每个 zip 一行的表格:
SELECT McDonalds.NAME, BKzips.zip, BKzips.numberBKs
FROM zipproximity
INNER JOIN McDonalds
ON zipproximity.zip1 = McDonalds.zip
INNER JOIN BKzips
ON zipproximity.zip2 = BKzips.zip
但我不知道如何获得我想要的结果。在没有使用 SQL 经验和解决这个问题几个小时之间,我非常卡住。感谢您的帮助!
【问题讨论】:
标签: sql sqlite join inner-join