2014-03-31 23 views
2

我目前工作的一些选择查询和正在错误FROM keyword not found where expected在我最后的两个查询,我可以;吨为我的生活出了什么问题。 ..FROM关键字未找到预期(甲骨文SQL)

这里是我的查询

SELECT Title, PubID AS 'Publisher ID', PubDate AS 'Publish Date' 
FROM Books WHERE PubID = 4 OR PubDate > '01-Jan-01' 
ORDER BY PubID ASC; 

SELECT Title, (((Retail-Cost)/Cost) * 100) AS 'Markup %' 
FROM Books; 

我不知道如果我的数学是在这一个(retail - cost/cost * 100 is the goal)正确的。

我一直试图在第一个查询可能45分钟放弃,做最后一个之前,只得到一个相同的错误。

+4

你需要用双引号('“'),而不是在你列的别名单引号。使用别名为'PubID的‘发布商ID’'你会没事的。 – Rachcha

+0

的数据库,你实际使用?您已经标记了该Oracle和MySQL的。 –

+0

@Rachcha该诀窍,IDK的如何我没有注意到,或发现任何其他地方我一直在寻找和皮卡这样的事实,这是双引号...去过一个长周末对我来说我猜! – Meta

回答

7

单引号来环绕字符串文字。双引号用于包围标识符。列的别名是标识符,所以你想使用双引号

SELECT Title, 
     PubID AS "Publisher ID", 
     PubDate AS "Publish Date" 
    FROM Books 
WHERE PubID = 4 
    OR PubDate > '01-Jan-01' 
ORDER BY PubID ASC; 
相关问题