Access-SQL:内部加入一个 table 与另一个 table 的多个副本
Access-SQL: Inner Join a table with multiple copies of another table
This and this 对加入三个 table 进行了很好的概述。但是假设我们有一个 table Freights 字段 From 和 To 链接到 目的地table。在数据方案中,我看到 Destinations_1 table,但是当我尝试在查询中使用它时,它不存在。怎么办?
Destinations_1 是 Access 在内部为其设置别名的方式。您需要做的是打开 SQL window 并手动将其别名为更独特的东西。没有什么比让 Access 为您命名一切更让人恼火或更糟糕的编码冒犯了。例如,对于下一个接管您的数据库的人来说,Field28 并不意味着 bubkus,但是 txtStartDate 将使弄清楚它包含的内容变得非常简单。同样,Destinations_1 让传入的编码器非常困惑。进入你的 SQL 并修复它,所以它看起来更像:
SELECT * FROM Destination as PrimDestination
INNER JOIN Destination as SecDestination
ON PrimDestination.MyField = SecDestination.MyField
一旦您看到此布局,它对您来说会更有意义,它在设计视图中会更有意义,对数据库的任何未来管理员也会更有意义。
This and this 对加入三个 table 进行了很好的概述。但是假设我们有一个 table Freights 字段 From 和 To 链接到 目的地table。在数据方案中,我看到 Destinations_1 table,但是当我尝试在查询中使用它时,它不存在。怎么办?
Destinations_1 是 Access 在内部为其设置别名的方式。您需要做的是打开 SQL window 并手动将其别名为更独特的东西。没有什么比让 Access 为您命名一切更让人恼火或更糟糕的编码冒犯了。例如,对于下一个接管您的数据库的人来说,Field28 并不意味着 bubkus,但是 txtStartDate 将使弄清楚它包含的内容变得非常简单。同样,Destinations_1 让传入的编码器非常困惑。进入你的 SQL 并修复它,所以它看起来更像:
SELECT * FROM Destination as PrimDestination
INNER JOIN Destination as SecDestination
ON PrimDestination.MyField = SecDestination.MyField
一旦您看到此布局,它对您来说会更有意义,它在设计视图中会更有意义,对数据库的任何未来管理员也会更有意义。