-5

输入此命令时发现此错误

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
);

我在这里找不到问题以及为什么会出现此错误我在互联网上搜索但找不到原因

4

1 回答 1

0

首先,您应该匹配 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
);
于 2020-11-29T00:53:53.873 回答