0

所以我按照我在现场讲座中给我的指示逐字逐句地进行,并在我的教科书中对此进行了研究,我已经正确地完成了所有事情(所以我认为),但我一直收到一个错误,我已经查过了这意味着什么,它对我一点帮助都没有,我已经为此工作了一整天,所以我正在联系你们,看看你们是否能在我的代码中的任何地方看到我的错误

这是我要完成的问题:

使用 BOOK_CUSTOMER 表和 NVL 函数,创建一个查询,该查询将返回一个列表,其中包含客户编号、名字、姓氏和字符“NOT REFERRED”(如果该客户未被其他客户推荐)。为派生列指定别名 REFERRED BY。不要列出其他客户推荐的任何客户。

我的代码 =

SELECT CutomerID, FirstName, LastName,
NVL(TO_CHAR(Referred), 'Not Referred'))
FROM Book_Customer;

我也意识到我还没有完成整个问题。我只是想让我的 NVL 首先工作,然后进入别名和问题的最后一部分,因为我不知道如何做这两个方面,任何提示也将不胜感激

4

2 回答 2

0

SQL 文本中有一个额外的(不匹配的)右括号,这会引发语法错误。

NVL(TO_CHAR(Referred), 'Not Referred'))
                                      ^

最后一个括号没有匹配的开头括号。


要为 SELECT 列表中的表达式分配别名,请在表达式后面加上关键字AS和别名。

 SELECT t.foo AS bar 

结果集将包含一个名为 的列bar

SELECT b.CustomerID
     , b.FirstName
     , b.LastName
     , NVL(TO_CHAR(b.Referred),'Not Referred') AS ReferredBy
  FROM Book_Customer b
 WHERE b.Referred IS NULL
于 2015-02-13T04:42:25.257 回答
0

我终于想通了!正确的代码是:

SELECT CustomerID, FirstName, LastName,
NVL(TO_CHAR(Referred), 'Not Referred') AS "Referred By"
FROM Book_Customer
WHERE Referred IS NULL;

谢谢大家所有帮助我解决这个问题的有用意见。

于 2015-02-14T06:27:27.120 回答