gpt4 book ai didi

mysql - SELECT 语句具有不同的列数

转载 作者:行者123 更新时间:2023-11-29 06:41:32 26 4
gpt4 key购买 nike

我试过使用下面的代码,上面写着

The used SELECT statements have a different number of columns

因为添加的距离列在第二个查询中更多。我该如何解决这样的问题,或者我能否在没有距离列的情况下获得正确的顺序?我非常感谢任何帮助。提前致谢。

SELECT * FROM
(
SELECT * FROM user u
INNER JOIN employee e ON (u.empid = e.empid)
INNER JOIN awards a ON (u.empid = a.empid)
WHERE u.empid = 123

UNION

SELECT * ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) )+ sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance
FROM user u
INNER JOIN employee e ON (u.empid = e.empid)
INNER JOIN awards a ON (u.empid = a.empid)
HAVING distance < 25
ORDER BY distance
) a
ORDER BY timestamp DESC

最佳答案

这是因为您的第一个 SELECT第二个SELECT有不同数量的列,因为你介绍了Distance在第 2 SELECT .

所以试着制作Distance在第一个查询中为 null 或 0,如下所示。

SELECT * FROM
(
SELECT *, 0 as Distance
FROM user u
INNER JOIN employee e ON (u.empid = e.empid)
INNER JOIN awards a ON (u.empid = a.empid)
WHERE u.empid = 123

UNION

SELECT *, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) )+ sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance
FROM user u
INNER JOIN employee e ON (u.empid = e.empid)
INNER JOIN awards a ON (u.empid = a.empid)
HAVING distance < 25
ORDER BY distance
) a
ORDER BY timestamp DESC

关于mysql - SELECT 语句具有不同的列数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21222653/

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