Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql边缘列表,结合子查询结果 我所拥有的:_Mysql_Graph_Subquery - Fatal编程技术网

Mysql边缘列表,结合子查询结果 我所拥有的:

Mysql边缘列表,结合子查询结果 我所拥有的:,mysql,graph,subquery,Mysql,Graph,Subquery,两张桌子 T1: |节点id |位置X,Y| -------------- 及 T2: |边id |节点-Id1 |节点-Id2| ----------------------- 我需要的是: 我希望基本上迭代边缘id,检索节点id,然后访问每个节点对的位置。这将反过来允许我在应用程序中,在图形中所有连接的节点之间绘制一条边 然而,我似乎偶然发现了一个稍微不平凡的问题,或者至少对我来说是不平凡的 我相信我需要使用一个子查询,因为我想从我的边缘Id中获取所有节点,将它们转发到节点表并检索位置。然而

两张桌子

T1: |节点id |位置X,Y| --------------

T2: |边id |节点-Id1 |节点-Id2| -----------------------

我需要的是: 我希望基本上迭代边缘id,检索节点id,然后访问每个节点对的位置。这将反过来允许我在应用程序中,在图形中所有连接的节点之间绘制一条边

然而,我似乎偶然发现了一个稍微不平凡的问题,或者至少对我来说是不平凡的

我相信我需要使用一个子查询,因为我想从我的边缘Id中获取所有节点,将它们转发到节点表并检索位置。然而,当我试图返回多个列时,MySql会抱怨

是否仍然可以将Node-Id1和Node-Id2视为单个大列并从子查询返回?然后我只需要记住Xpos2和Ypos2从行计数的一半开始

我试过的。。。 并不是说它特别有用,而是这里有一个最接近我的问题

SELECT X( `LOCATION` ) AS Xpos1, Y( `LOCATION` ) AS Ypos1 FROM `nodes` , `edges` WHERE `NODE ID` IN ( SELECT `NODE ID1` as `NODE ID` FROM `edges` WHERE `EDGE ID` =0 ) GROUP BY `NODE ID` LIMIT 0 , 30 然而,上面的查询缺少一个非常重要的部分。这是节点ID2位,理想情况下将其结果发送到Xpos2和Ypos2

有机会,有一个更好的桌子设计,我洗耳恭听,没有问题改变它。但是,我无法更改为图形数据库


干杯

这是我一直在寻找的难以捉摸的线索:

SELECT X( n1.LOCATION ) AS Xpos1, Y( n1.LOCATION ) AS Ypos1, X( n2.LOCATION ) AS Xpos2, Y( n2.LOCATION ) AS Ypos2 FROM edges INNER JOIN nodes n1 ON ( n1.`NODE ID` = edges.`NODE ID1` ) INNER JOIN nodes n2 ON ( n2.`NODE ID` = edges.`NODE ID2` ) LIMIT 0 , 30 这和相关的问题提供了我所需要的洞察力