gpt4 book ai didi

mysql - SQL 未知列,尽管它确实存在 - SQL 错误 (1054)

转载 作者:可可西里 更新时间:2023-11-01 07:38:59 25 4
gpt4 key购买 nike

我的 sql 有问题,我试图根据年龄组显示用户,将字符串与主键一起附加,但我只希望显示一个值

我相信是这样的

SELECT users.gbpfid,
users.aid,
compresults.total,
agegroup.aid AS aid2
FROM compresults
INNER JOIN competitions
ON competitions.cid = compresults.cid
INNER JOIN agegroup
ON agegroup.aid = users.aid
INNER JOIN users
ON compresults.gbpfid = users.gbpfid
WHERE competitions.compdate = (SELECT competitions.compdate
FROM competitions
INNER JOIN compresults
ON compresults.cid =
competitions.cid
WHERE compresults.gbpfid = users.gbpfid
ORDER BY competitions.compdate DESC
LIMIT 1)

然而这会引发这个错误

SQL Error (1054): Unknown column 'users.aid' in 'on clause'

我想不通

当我删除第 5 行的“on agegroup.aid = users.aid”

它显示记录,但是对于每个辅助

enter image description here

我很困惑它如何识别没有内部连接(指定连接)的列,但是当我对年龄组表进行整个内部连接时,它连接正常,但包含所有记录

有什么想法吗?谢谢

最佳答案

您正在尝试在加入 users 表之前使用 users.aid 加入年龄组。

   INNER JOIN competitions
ON competitions.cid = compresults.cid
INNER JOIN agegroup
ON agegroup.aid = users.aid
INNER JOIN users
ON compresults.gbpfid = users.gbpfid

如您所见,在加入之前您正在访问 users.aid。将连接顺序更改为:

competitions -> users -> agegroup

这应该有效:

   INNER JOIN competitions
ON competitions.cid = compresults.cid
INNER JOIN users
ON compresults.gbpfid = users.gbpfid
INNER JOIN agegroup
ON agegroup.aid = users.aid

您现在应该可以访问 users.aid。

希望这对您有所帮助。

关于mysql - SQL 未知列,尽管它确实存在 - SQL 错误 (1054),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35223099/

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