假设我有两张桌子:
城市 | 街道_1 |
---|---|
多伦多 | 123 香蕉街 |
纽约 | 好时光路 69 号 |
洛杉矶 | 420 火焰博士 |
达拉斯 | 888精彩线路 |
还有
街道_2 | 水果 |
---|---|
123 班纳纳街 | 葡萄 |
好时光路 69 号 | 苹果 |
420 布雷泽它博士 | 香蕉 |
888精彩线路 | 梨子 |
我想加入上面在 street_1 和 street_2 上的两个表。由于 street_1 和 street_2 中的值不同,我该如何处理?编辑是不可能的,因为它会花费太长时间。
谢谢伙伴们。
如果您需要在这样的数据结构上制作
JOIN
,那么您的表格是错误的。您将依赖于用户输入的正确性来使其按照您期望的方式工作,而我们知道用户输入根本不可靠。
正确的解决方法是规范化您的数据库。引入第三个表,其中包含地址,每个地址都有自己的 ID。您的原始表不会包含街道本身,而仅包含 id,该 id 是系统内部的,不受用户输入的影响。这样您的街道名称就包含在一个位置,并且您不需要依赖两个位置相同。