我有多条巴士路线,其中的站点位于多条巴士路线上
布置表格的最佳方法是什么
目前我有表1(iphone上的sqlite db)
unique id | line_no | direction | etc
表2(在线mysql)
unique id | parent_id (= unique id from table1) | lat | lng | line_no |
而不是具有相同lat& amp;对于每个不同的行,我需要显然为每个单个停靠点添加2个额外的列字段,其中包含对父项的引用以及行号
在地图中显示每一行的点然后它不是问题,因为查询只是根据父ID来拉停止但是当我做“最近的”停止查询如果一个停止有多于1个路线我得到多个标记
所以例如在table2(在线mysql)中停止a我需要
unique id | parent_id | line_no | lat | lng
1 | 6, 12, 16, 19, | 2, 4, 7,10 | 55.111 | 12.444
等
所以基本上我将如何建立查询,以便当我基于lat& amp;我回来的json可以用来构建例如tableview&显示6与2,12和4等,拆分配对,以便我可以在每个上做一个后续链接?
(我在appcelerator中这样做 - table1是iphone上的sqlite数据库,表2上的lat / lng查询是从php创建json数组的mysql数据库)
如果这有意义;)
答案 0 :(得分:0)
除非你有非常做出不同的事情,否则rules of relational database规范化将定义如何构建数据库。
在您的情况下,您只需要第三个表来分解表1(bus_routes)和表2(bus_stops)之间的n:m关系,而不是bus_stop和bus_route的每个组合在bus_stops中的多个记录。
您当前的结构是错误的 - 如果bus_routes中的记录由line_no和direction唯一定义,那么为什么还有代理键呢?
但当我做“最近的”停止查询时,如果一个停止有多个路线,我会得到多个标记
你的SQL在哪里?
table1是iphone上的sqlite db,表2上的lat / lng查询是在mysql数据库上
没有'表2'的'表1'有什么用?