2012-04-27 60 views
1

我有2个表,我们必须用IN运算符来查询一个答案。我在Oracle中收到无效的字符响应。谢谢你的帮助!多表SQL查询 - 在运算符

问题 - 查找作者编号为18的每本书的书名。在查询中使用IN运算符。

我似乎什么至今:

SELECT TITLE 

FROM BOOK 

WHERE AUTHOR_NUM IN 

{SELECT AUTHOR_NUM 

FROM WROTE 

WHERE AUTHOR_NUM = '18'}; 

标题列在书籍表和AUTHOR_NUM列是写下了这表。对不起如果我遗漏了任何信息,任何指向正确的方向将不胜感激!

+0

你对'BOOK'和'WROTE'有什么专栏,我认为你认为你需要将两个表加入在一起,然后使用'WROTE'表上的'IN'子句是正确的 – Paddy 2012-04-27 22:19:55

回答

0

你为什么要引用18?这可能是一个整数列。因为你只是被笔者数去,我觉得你真的想:

SELECT TITLE FROM BOOK WHERE AUTHOR_NUM IN (18) 

这似乎遇到问题的要求,最简单的方法。

+0

那就是AUTHOR_NUM与标题不同。我认为需要做的是加入这两张桌子,这就是为什么我按照自己的方式尝试过的原因。如果我运行你的代码,我收到一个错误,说AUTHOR_NUM是一个无效的标识符 – user1347282 2012-04-27 22:15:03