Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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
Php 复杂的SQL选择_Php_Mysql_Sql_Select_Join - Fatal编程技术网

Php 复杂的SQL选择

Php 复杂的SQL选择,php,mysql,sql,select,join,Php,Mysql,Sql,Select,Join,我有桌位要求 和与请求相关的表点 表点可以包含与一个请求相关的多行,并包含其自己的点位置地址。例如,请求可以有出发点、目的地和中间通过点位置 我的问题是:我想让SQL尽可能简单地选择请求及其所有位置,这些位置都在表点中 拜托,我不需要这种存储信息的策略,如果有人知道怎么做,请帮助我 我会提供更多的信息。有出租车服务。例如,客户被命令从A点到D点,经过B点和C点。我必须保存用户在订单中填写的所有点。我有订单表和包含所有地理位置数据的点表,点表中的任何行都可以对应一个订单。我的意思是一个订单可以包含

我有桌位要求

和与请求相关的表点

表点可以包含与一个请求相关的多行,并包含其自己的点位置地址。例如,请求可以有出发点、目的地和中间通过点位置 我的问题是:我想让SQL尽可能简单地选择请求及其所有位置,这些位置都在表点中 拜托,我不需要这种存储信息的策略,如果有人知道怎么做,请帮助我


我会提供更多的信息。有出租车服务。例如,客户被命令从A点到D点,经过B点和C点。我必须保存用户在订单中填写的所有点。我有订单表和包含所有地理位置数据的点表,点表中的任何行都可以对应一个订单。我的意思是一个订单可以包含2个或更多点。我的问题是如何获取所有订单及其在数组、json或任何类型的数据中的所有点


每个请求可以有无限多个点行,但这些行包含请求id。因此,一个请求可以包含例如10个点,我希望通过选择所有请求来获得它们。最后,我想获得以下数据:json示例:

`{
  ['id': 1, 'distance': 1, 
     [{'address': 'some address'}, 
      {'address: 'second address'}, 
      {'address': 'third address and etc'}],
   'id': 2, 'distance': 4.1,
     [{'address': 'some address'},
      {'address: 'second address'},
      {'address': 'third address and etc'}]
  ]
 }`
使用JOIN关联表:

选择r.id作为请求\u id,r.distance ,p.id作为点_id,r.地址 从作为r的请求 内部连接桥作为r.id上的p=p.request\U id 按r.id、p.id订购;
上述查询将提供请求和积分的所有数据,按请求id和积分id排序。

您想要什么样的答案?在表格格式中,这将是两个表之间的简单连接。这不应该那么容易,所以我怀疑你漏掉了什么。或者,你想用这两张表做什么?发布任何尝试的解决方案和所需的输出。我将提供更多信息。有出租车服务。例如,客户被命令从A点到D点,经过B点和C点。我必须保存用户在订单中填写的所有点。我有订单表和包含所有地理位置数据的点表,点表中的任何行都可以对应一个订单。我的意思是一个订单可以包含2个或更多点。我的问题是如何获取所有订单及其在数组或json中的所有点或任何类型的数据。@请编辑您的问题并包含其他信息。不要在注释中发布此类更新。如果需要,请包括所需的输出和任何尝试的解决方案any@CJSuspend让我看看我是否明白。。。每个请求有两个点行,您希望得到某种结果,使这两个点在一行中?每个请求可以有无限多个点行,但这些行包含请求id。因此,一个请求可以包含例如10个点,我希望通过选择所有请求来获得所有点。最后,我想获得以下数据:json示例:{['id':1,'距离]:1,[{'address':'some address'},{'address:'second address'},{'address':'third address and etc'}]}
+------+------------+--------------------+-------+
| id   | request_id | address            | order |
+------+------------+--------------------+-------+
|    1 |          1 | some_addrs         |     1 |
|    2 |          1 | second_addrs       |     2 |
|    3 |          2 | for_id_2_adddrs    |     2 |
|    4 |          2 | for_id_2_sec_addrs |     2 |
+------+------------+--------------------+-------+
`{
  ['id': 1, 'distance': 1, 
     [{'address': 'some address'}, 
      {'address: 'second address'}, 
      {'address': 'third address and etc'}],
   'id': 2, 'distance': 4.1,
     [{'address': 'some address'},
      {'address: 'second address'},
      {'address': 'third address and etc'}]
  ]
 }`