简体   繁体   English

MySQL 子查询错误代码 1241 SQLState 21000

[英]MySQL subquery ERROR CODE 1241 SQLState 21000

I want to retrieve First and Last Row using client_id from my table.我想使用我的表中的 client_id 检索第一行和最后一行。 So I wrote this which threw an error (1241), Can Anyone please tell me what this issue with this code:所以我写了这个引发了错误(1241),任何人都可以告诉我这个代码有什么问题:

SELECT * 
FROM invoices 
WHERE invoice_id IN (SELECT  MAX(invoice_id), 
                             MIN(invoice_id) 
                     FROM invoices
                     );

WHERE AS this code is perfectly fine: WHERE AS这段代码非常好:

SELECT * 
FROM invoices 
WHERE invoice_id IN (SELECT  MIN(invoice_id) 
                     FROM invoices 
                     UNION SELECT MAX(invoice_id) 
                     FROM invoices
                    );

So I wrote this which threw an error (1241), Can Anyone please tell me what this issue with this code:所以我写了这个引发了错误(1241),任何人都可以告诉我这个代码有什么问题:

The error MySQL error 1241: Operand should contain 1 column(s) occurred because the following query错误MySQL error 1241: Operand should contain 1 column(s) occurred because the following query

SELECT  MAX(invoice_id), MIN(invoice_id) FROM invoices  

returns two columns, not two values.返回两列,而不是两个值。 In the where condition you have one column declared WHERE invoice_id IN .在 where 条件下,您有一列声明为WHERE invoice_id IN

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM