У меня проблема с домашней работой моей базы данных. Мне нужно написать подзапрос, в котором будет отображаться ISBN и название книги, в которой есть категория, которая начинается с буквы «S».ошибка 1242 подзапрос возвращает более 1 строки
столы: BOOK (ISBN, Категория, название, описание, выпуск, PublisherID) и категории (CatID, CatDescription)
ключи: BOOK (ISBN_PK, Category_FK) и КАТЕГОРИЯ (CatID_PK) ---> Категория = CatID
На данный момент у меня есть код, но он возвращает ошибку. Поскольку я делаю это HW заранее, и мы все еще не изучали подзапросы, я нашел большинство решений для своих проблем в Интернете. Пожалуйста помоги.
Мой код:
SELECT ISBN, title FROM book WHERE category LIKE (SELECT catdescription FROM category WHERE catdescription LIKE 's%')
'LIKE' ожидает единственный аргумент, а не список. –
Замечание о дизайне схемы: если Book.category является внешним ключом для Category.CatID, может быть предпочтительнее назвать его Book.CatID. Таким образом, соответствие сразу становится очевидным. Он также открывает возможность использования [Natural Join] (http://en.wikipedia.org/wiki/Join_ (SQL) #Natural_join). –
Также было бы очевидно, что 'book.category' не соответствует' category.catdescription'. Вы захотите сделать 'select CatID' в подзапросе, а не' select catedescription'. –