gpt4 book ai didi

从选择集中删除时出现 MySQL 语法错误?

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

我有一个 select 语句,它选择了一个带有内部连接的表中最旧的数据集

SELECT DateAndTime
,Val
,NumIndex
,TagName
,floattable.TagIndex
FROM taglogging.floattable
INNER JOIN tagtable ON tagtable.TagIndex = floattable.TagIndex
WHERE DateAndTime = oldest;

这很有效,可以完成返回数据集的工作。

我现在想从数据集中删除值列超出其在另一个数据库中定义的最小、最大范围的任何记录。

这是我做的

DELETE
FROM taglogging.floattable
WHERE Val IN (
SELECT DateAndTime
,Val
,NumIndex
,TagName
,floattable.TagIndex
FROM taglogging.floattable
INNER JOIN tagtable ON tagtable.TagIndex = floattable.TagIndex
WHERE DateAndTime = oldest
) < taglogging_archive.tagmembers.tagMember_minValue
OR Val > taglogging_archive.tagMember_minValue;

在这样做的过程中,出现了语法错误:

Error Code: 1241. Operand should contain 1 column(s)

有没有人看到我语法中的错误:( 我是 MySQL 语法的新手,但在从 MSSQL 迁移后,我对我的查询逻辑充满信心。

亲切的问候,

乔丹

最佳答案

在您的第二个查询中,选择语句对于 Val 列应该只有一个列名。

你的查询应该是这样的:

DELETE from taglogging.floattable WHERE Val IN 
(SELECT Val
FROM taglogging.floattable
INNER JOIN tagtable ON tagtable.TagIndex = floattable.TagIndex
WHERE DateAndTime = oldest) < taglogging_archive.tagmembers.tagMember_minValue
OR Val > taglogging_archive.tagMember_minValue;

如错误所述。

关于从选择集中删除时出现 MySQL 语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26099669/

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