gpt4 book ai didi

mysql - 内部连接 ​​- 错误 1241 (21000) : Operand should contain 1 column(s)

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

我有一个疑问,我们称他为史蒂夫吧。

Steve 应该将包含表 1 中六列数据的行插入到表 2 中,但只从表 1 中选择与表 3 中的列中的值匹配的行......并且,如果史蒂夫找到任何重复条目,只需使用表 1 中的值更新表 2 中的值。

INSERT INTO nht_mlslookup (MSTLISTBRD,MSTMLSNO,MSTACTSTA,MSTSTRNO,MSTSTRNAM,MSTUNITNUM) 
SELECT (MSTLISTBRD,MSTMLSNO,MSTACTSTA,MSTSTRNO,MSTSTRNAM,MSTUNITNUM) FROM nht_mls AS mls
INNER JOIN nht_agtdata AS agt ON mls.MSTLISTBRD = agt.agentid
ON DUPLICATE KEY UPDATE nht_mlslookup.MSTMLSNO = mls.MSTMLSNO;

问题是……我想我弄坏了史蒂夫?他只想做这个。

ERROR 1241 (21000): Operand should contain 1 column(s)

我明白 Steve 没有按照我的要求去做,因为子查询没有返回结果,特别是 SELECT ...INNER JOIN 语句。

当我测试他并要求他进行表演时:

SELECT * FROM jos_mls AS mls
INNER JOIN jos_activeagents AS active ON mls.MSTLISTBRD = active.AGENTUID

他做了我希望他做的事。

但是当我要求他抓取特定的列时:

SELECT (MSTLISTBRD,MSTMLSNO,MSTACTSTA,MSTSTRNO,MSTSTRNAM,MSTUNITNUM) FROM jos_mls AS mls
INNER JOIN jos_activeagents AS act ON mls.MSTLISTBRD = act.AGENTUID

他给了我同样的错误。

关于如何指导史蒂夫做好他的工作并停止让我跑来跑去有什么建议吗?

最佳答案

SELECT 列表两边的括号是错误的。这使它成为单个表达式,但在 SQL 的表达式中不能有逗号。

INSERT INTO nht_mlslookup (MSTLISTBRD,MSTMLSNO,MSTACTSTA,MSTSTRNO,MSTSTRNAM,MSTUNITNUM) 
SELECT MSTLISTBRD,MSTMLSNO,MSTACTSTA,MSTSTRNO,MSTSTRNAM,MSTUNITNUM FROM nht_mls AS mls
INNER JOIN nht_agtdata AS agt ON mls.MSTLISTBRD = agt.agentid
ON DUPLICATE KEY UPDATE nht_mlslookup.MSTMLSNO = mls.MSTMLSNO;

关于mysql - 内部连接 ​​- 错误 1241 (21000) : Operand should contain 1 column(s),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17027400/

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