gpt4 book ai didi

mysql - 子查询引用父查询中的字段

转载 作者:行者123 更新时间:2023-11-30 23:07:43 33 4
gpt4 key购买 nike

我已经研究了一段时间,但似乎找不到解决方案。

在下面的查询中,我需要子查询在外部查询中引用 MachineIdent。 MachineIdent 字段没有歧义(只存在于 CoilPass 表中)。

我认为当前子查询返回所有 MachineIdent 结果,我只需要它返回一个(当前正在检索的记录)

返回的错误是“子查询返回多行”

我是否认为 SELECT 语句的工作方式有点像循环,一次检索一行信息?

SELECT MachineIdent,
ROUND(EntryGauge * (SELECT DisplayScaleFactor FROM webreportparametersetup AS w WHERE w.MachineIdent = CoilPass.MachineIdent AND w.ItemName = 'EntryGauge')) AS EntryGauge
FROM Coil INNER JOIN CoilPass ON Coil.CoilIdent=CoilPass.CoilIdent INNER JOIN PassSection ON CoilPass.PassIdent=PassSection.PassIdent

最佳答案

不,SQL 不是这样工作的。您可以缩小子查询的范围以仅返回一个结果,但您真的只想将新条件包含到现有查询中,如下所示:

SELECT 
MachineIdent,
EntryGauge,
w.DisplayScaleFactor,
ROUND(EntryGauge * w.DisplayFactor) AS ScaledEntryGauge
FROM Coil INNER JOIN CoilPass ON Coil.CoilIdent=CoilPass.CoilIdent
INNER JOIN PassSection ON CoilPass.PassIdent=PassSection.PassIdent
INNER JOIN webreportparametersetup w ON w.MachineIdent = CoilPass.MachineIdent
WHERE w.ItemName = 'EntryGauge'

关于mysql - 子查询引用父查询中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21118156/

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