#1241 - 操作数应包含 1 列嵌套查询

#1241 - Operand should contain 1 column(s) nested query

我输入这个命令时发现这个错误

SELECT *
FROM  Borrowed_Book , User
WHERE User.UserId=Borrowed_Book.UserId  IN (
    SELECT *
    FROM Book , Book_version_info
    WHERE 
        Book_version_info.PublisherID = 1 AND 
        Book.ISBN= Book_version_info.Book_ISBN
);

我找不到这里的问题以及为什么会出现此错误 我在网上查了也没找到原因

首先你应该在 IN 函数中匹配你的列:

WHERE User.UserId=Borrowed_Book.UserId  IN (
    SELECT *
    FROM Book , Book_version_info
    WHERE 
        Book_version_info.PublisherID = 1 AND 
        Book.ISBN= Book_version_info.Book_ISBN
);

SQL 不知道如何处理列应该相同,所以请尝试:

WHERE User.UserId=Borrowed_Book.UserId  AND User.UserId IN (
    SELECT User.UserId
    FROM Book , Book_version_info, User
    WHERE 
        Book_version_info.PublisherID = 1 AND 
        Book.ISBN= Book_version_info.Book_ISBN
);