谢谢我刚刚设法解决它的每一个人,这就是我的做法,只显示我想要的字段,我想要的行没有重复。(原谅我,我是菜鸟)
从您想要在左侧的第一个表的字段开始,
SELECT [Table 1].Address1 AS [Address Line 1],
[Table 2].Postal_Code AS [Postal Code]
FROM [Table 1]
INNER JOIN
[Table 2] on [Table 1].Primary_key_Column = [Table 2].Foreign_key_Column
为了让像我这样的 SQLite noods 变得简单:
- 从每个表中只选择您想要的列。
- 按照与数据库顺序层次结构相同的顺序从左到右对所选列进行排序。
- 编写 SQLite 视图查询,使表字段的出现顺序从上到下,例如我之前编写的示例。
- 在“FROM”子句中只使用第一个表。
那么,如果您想要更多表中的更多字段(包含嵌套字段的表呢?
只需执行以下操作
SELECT [Table 1].Address1 AS [Address Line 1],
[Table 2].Postal_Code AS [Postal Code],
[Table 3].Locality AS [Locality],
[Table 4].Provenience AS [Provenience]
FROM [Table 1] <---- You only need to mention the first table of the first field
INNER JOIN
[Table 2] on [Table 1].Primary_key_Column = [Table 2].Foreign_key_Column
INNER JOIN
[Table 3] on [Table 2].Primary_key_Column = [Table 3].Foreign_key_Column
INNER JOIN
[Table 4] on [Table 3].Primary_key_Column = [Table 4].Foreign_key_Column
我知道这个解决方案可能看起来很麻烦,但它的优点是:
- 当您想添加一个级别时,您只需在“SELECT”块的末尾添加一行,在“INNER JOIN”块的末尾添加另一行。
- 如果查询数据出现问题,您将更容易阅读和调试。
这就是我自己解决的方式,但我准备好听到更好的答案