gpt4 book ai didi

java - 子查询 - 子句列不可见

转载 作者:行者123 更新时间:2023-11-29 14:17:50 24 4
gpt4 key购买 nike

我在 Ubuntu 机器上的 mysql 5.1.41 环境中遇到了一个奇怪的情况,即 sql 查询。

代码如下

SELECT spedizione0_.idspedizione,
spedizione0_.*,
(
SELECT COUNT(n.idnegozio)
FROM negozio n
LEFT JOIN confezione c
ON n.idnegozio = c.idnegozio
AND c.idspedizione = spedizione0_.idspedizione
WHERE n.datainizio <= spedizione0_.dataspedizione
AND n.datafine >= spedizione0_.dataspedizione
OR c.idspedizione != 0
) AS formula5_
FROM orocashgenerico.spedizione spedizione0_
ORDER BY spedizione0_.dataspedizione DESC

在这种情况下,错误显示:[Err] 1054 - “on 子句”中的未知列“spedizione0_.idspedizione”

运行此查询的唯一方法是将 n.idnegozio=c.idnegozio 和 c.idspedizione=spedizione0_.idspedizione 上的 .. 更改为 n.idnegozio=c.idnegozio 和 c.idspedizione=12

对我来说最奇怪的事情是:如果我将 and 条件移动到 where 子句,查询就会正确运行,当然结果不是我所排除的。

我的问题是问题出在哪里?
与MySQL版本有关吗?

最佳答案

这是因为在子查询范围内找不到spedizione0_。试试这个,

SELECT  spedizione0_.idspedizione,                     // add additionl columns
COUNT(n.idnegozio) AS formula5_
FROM spedizione spedizione0_
LEFT JOIN confezione c
ON c.idspedizion = spedizione0_.idspedizione
LEFT JOIN negozio n
ON n.idnegozio = c.idnegozio
WHERE (
n.datainizio <= spedizione0_.dataspedizione AND
n.datafine >= spedizione0_.dataspedizione
)
OR c.idspedizione != 0
GROUP By spedizione0_.idspedizione
ORDER BY spedizione0_.dataspedizione DESC

关于java - 子查询 - 子句列不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12314398/

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