gpt4 book ai didi

php - 无法在mysql选择查询中获取两个字段

转载 作者:行者123 更新时间:2023-12-01 00:40:00 24 4
gpt4 key购买 nike

我的route 表中有四个字段

busid、routid、位置和距离

我想显示来自选择查询的busid 和距离。我的选择查询如下:

$endb = mysql_query("select case when a.position < b.position then a.busid when a.position > b.position then a.busid else null end as busid, a.distance as distance from (select busid,position from route where routid=$result2) a join (select busid,position from route where routid=$end) b on a.busid = b.busid") or die(mysql_error());   

但是当我使用这个查询时,它给出了错误:字段列表中的未知字段距离。请帮助我缺少什么

最佳答案

你不应该在 from 子句中使用子查询,除非在 MySQL 中有必要。它们会阻止优化器生成最佳查询计划。

编写查询的更好方法:

select (case when a.position < b.position then a.busid
when a.position > b.position then a.busid
end) as busid,
a.distance
from route a join
route b
on a.busid = b.busid and
a.routid = $result2 and b.routid = $end;

当然,您的具体问题是 a.distance 未定义,因为它未在子查询中定义。

关于php - 无法在mysql选择查询中获取两个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34891487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com