gpt4 book ai didi

php - Mysql SELECT查询HAVING与INNER JOIN WHERE相结合不显示所有请求的数据

转载 作者:行者123 更新时间:2023-11-29 11:45:56 25 4
gpt4 key购买 nike

我写了一个复杂的查询未返回所有请求的数据。 INNER JOIN 似乎无法正常工作。该查询确实返回了正确的结果集,我只是缺少连接表中的列。

我的查询:

SELECT Table1.Col1, Col2, Col3, Col4, Col5, Col6, ( 6371 * acos( cos(radians(?) )
* cos( radians( lat ) ) * cos( radians( lng ) - radians(?) ) + sin( radians(?) )
* sin( radians( lat ) ) ) ) AS distance
FROM Table1
INNER JOIN Table2
ON Table1.Col1 = Table2.Col1
WHERE TABLE2.Col2 =?
AND Table2.Col3 =?
HAVING distance < ?
ORDER BY distance

我的结果仅包含 Table1 中的值,为什么 INNER JOIN 不起作用?

编辑:我根据 P.Jairaj 的回答将我的查询更改为此,这似乎对我有用:

        SELECT T1.Col1, T1.Col2, T1.Col3, T1.Col4, T1.Col5, T1.Col6, T2.Col1, 
( 6371 * ACOS( COS( RADIANS('?') ) *
COS( RADIANS( lat ) ) * COS( RADIANS( lng ) - RADIANS('?') ) +
SIN( RADIANS('?') ) * SIN( RADIANS( lat ) ) ) ) AS distance
FROM T1, T2
WHERE T1.Col1 = T2.Col1
AND T2.Col2 = '?'
AND T2.Col3 = '?'
HAVING distance < '?'
ORDER BY distance

最佳答案

尝试

SELECT t1.Col1, t1.Col2, t2.Col3, t1.Col4, t2.Col5, t2.Col6, ( 6371 * acos( cos(radians(?) )
* cos( radians( lat ) ) * cos( radians( lng ) - radians(?) ) + sin( radians(?) )
* sin( radians( lat ) ) ) ) AS distance FROM Table1 t1, Table2 t2
Where t1.Col1 = t2.Col1
AND t2.Col2 =? AND t2.Col3 =?
AND distance < ?
ORDER BY distance

关于php - Mysql SELECT查询HAVING与INNER JOIN WHERE相结合不显示所有请求的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34947870/

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