在MS Access中将2个查询结果合并到一个查询的单独列中

时间:2018-09-12 08:36:15

标签: sql ms-access

我正在Access中的一个数据库上工作,我有2个表,它们之间的关系如下:

  Nodes . . . . .  Relation . . . . . Links

 -------- . . . . . . . . . . . . . . . . .----------------

| ID . .|----------------------------| Near End |

| Lat . | . . . . . . . . . | . . . . . . | . . . . . . . . |


| Lon  | . . . . . . . . . . -----------| far End . .|

 --------- . . . . . . . . . . . . . . . . . ---------------

可以看出,表链接上的2个字段与表节点的相同字段有关系。现在,例如,我想提取两端的Lat,如下所示。

结果:

[Near End Lat] . . . [Far End Lat]

我想要更准确的单个查询。运行速度很重要,因为表有太多的记录,而且我会使用一些复杂的条件。

3 个答案:

答案 0 :(得分:0)

如果我理解正确,则只需要加入Nodes表的两个副本

enter image description here

编辑:可以肯定的是,这是同一回事,但风味不同,但是可以提供所需的答案。

enter image description here

enter image description here

答案 1 :(得分:0)

请看下面的图片 Example 例如,当我搜索T4322X时,结果可能如下所示:

T4322X,T4322X纬度,T4322X经度,T4326X,T4326X纬度,T4322X经度

答案 2 :(得分:0)

我的朋友,

经过一番尝试,我发现以下SQL可以正常工作:

SELECT
 Nodes.NodeName, Nodes.Latitude, Nodes.Longitude,
 NN.NodeName, NN.Latitude, NN.Longitude
FROM 
 (Nodes INNER JOIN Links on Nodes.ID=Links.[Near End]) 
 INNER JOIN
 (
      SELECT 
           Nodes.NodeName, Nodes.Latitude, Nodes.Longitude, Links.ID
      FROM
           Nodes INNER JOIN Links on Nodes.ID=Links.[Far End]
 ) AS NN ON NN.ID=Links.ID
WHERE 
 Links.Selected=True;