SQL Server 2005, синтаксическая ошибка - PullRequest
2 голосов
/ 15 марта 2010

Эта строка не работает: (проблема в последней строке)

SELECT Book_Name  
FROM Books  
WHERE (Year, Faculty) = (SELECT Year, Faculty FROM Books WHERE Book_Id = 1112);

Как я могу это исправить?

Ответы [ 2 ]

4 голосов
/ 15 марта 2010
    SELECT b.Book_Name  
      FROM Books b
INNER JOIN (Select Year, Faculty From Books Where Book_Id = 1112) b2
        ON b.Year = b2.Year and b.Faculty = b2.Faculty

Без внутреннего присоединения альтернатива

SELECT b.Book_Name
  FROM Books b
 WHERE Year In (Select Year From Books Where Book_ID = 1112)
   AND Faculty In (Select Faculty From Books Where Book_ID = 1112)

Однако, если это домашнее задание, вы должны действительно решить это для себя: -p

0 голосов
/ 15 марта 2010

Объединение лучше, но если вы не можете (из-за ограничения домашней работы), попробуйте это:

SELECT
    Book_Name  
    FROM Books  
    WHERE
        Year IN (SELECT Year FROM Books WHERE Book_Id = 1112)
        AND Faculty IN (SELECT Faculty FROM Books WHERE Book_Id = 1112)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...