当前位置: 首页 > 面试题库 >

每个派生表必须具有其自己的别名错误

有玄天
2023-03-14
问题内容

运行以下查询时出现该错误:

SELECT MAX( DateTime )
FROM (
(
    SELECT DateTime
    FROM Class_Searches
)
UNION ALL (
    SELECT DateTime
    FROM Book_Searches
)
)
WHERE User_Email = 'bla@blah.com'
AND DateTime > NOW( ) - INTERVAL 30 DAY

我知道我需要添加别名,但是我不确定在哪里


问题答案:

您需要为子查询添加别名,并且需要将条件应用于您合并的两个查询:

SELECT MAX(DateTime)
FROM (

  SELECT DateTime
  FROM Class_Searches
  WHERE User_Email = 'bla@blah.com'
  AND DateTime > NOW( ) - INTERVAL 30 DAY

  UNION ALL

  SELECT DateTime
  FROM Book_Searches
  WHERE User_Email = 'bla@blah.com'
  AND DateTime > NOW( ) - INTERVAL 30 DAY

) AS x

或返回数据,以便您可以在外部查询中应用条件:

SELECT MAX(DateTime)
FROM (

  SELECT DateTime, User_Email
  FROM Class_Searches

  UNION ALL

  SELECT DateTime, User_Email
  FROM Book_Searches

) AS x
WHERE User_Email = 'bla@blah.com'
AND DateTime > NOW( ) - INTERVAL 30 DAY


 类似资料:
  • 问题内容: 我无法为自己的生活弄清楚为什么这是错误的 问题答案: 它的含义与所说的完全一样-每个派生表都 必须 有一个别名。 更新。这应该为您工作:

  • 问题内容: 我在MySQL上运行此查询 它给出了这个错误: 每个派生表必须具有自己的别名。 是什么导致此错误? 问题答案: 每个派生表(AKA子查询)确实必须有一个别名。也就是说,括号中的每个查询都必须被赋予一个别名(),该别名可以在外部查询的其余部分中用于引用它。 当然,对于您而言,整个查询可以替换为:

  • 问题内容: 在MySQL中使用此查询时出现错误。 查询逻辑是正确的,我已经在Oracle中进行了尝试,并且运行正常,但是在MySQL中运行时出现错误。 我查看了关于StackOverflow的先前问题,但没有找到什么对我有帮助。 这是查询: 这是错误: 问题答案: 您需要为子查询提供别名,如下所示: 从文档中, 子查询在SELECT语句的FROM子句中是合法的。实际语法为: SELECT … FR

  • 问题内容: 我写了以下代码: 我收到错误消息: 第一行错误。为什么会发生,我该如何解决?请注意,我的项目名称为,程序包名称为,类名称如代码中所述。 编辑 -仅公开一个类或两个类均为默认类后,出现错误“选择不包含主类型”。现在我该怎么办? 问题答案: 如果文件包含顶级(非嵌套)类,则其名称与该公共类相同。因此,如果您有类似的课程,则需要将其放置在文件中。因此, 我们在一个文件中不能有两个公共类。 如

  • 问题内容: 我是React的新手,我想知道这里的标准是什么。 想象一下,我有一个像这样的反应路由器: 现在我想删除如果设置为的两条路线,因此一种理智的做法如下所示: 但是有两条路线,React返回错误: 表达式必须具有一个父元素。 我不想在这里使用多个ifs。React首选的处理方式是什么? 问题答案: 将它们放在一个数组中(也分配键): 使用最新的React版本,您也可以这样尝试 :

  • 问题内容: 有时我们可以同时使用派生表和临时表编写查询。我的问题是哪个更好?为什么? 问题答案: 派生表是一种逻辑构造。 可以将其存储在中,在运行时通过在每次访问时重新评估基础语句来构建,甚至可以对其进行优化。 临时表是一种物理构造。它是在其中创建的表,并在其中填充了值。 哪种更好取决于查询所使用的查询,用于派生表的语句以及许多其他因素。 例如,每次使用时都可以(并且很可能会)重新评估in中的(公