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

#1066-不是唯一的表格/别名:

陈浩
2023-03-14
问题内容

你能帮我一下吗?我有这个SQL查询:

SELECT l.url 
FROM (b INNER JOIN links ON b.parent_id = l.id) 
INNER JOIN b ON l.id = b.link 
WHERE l.url LIKE 'http://domain%' LIMIT 0, 30

它以某种方式说

#1066 - Not unique table/alias: b

问题答案:

您似乎从同一张表中选择了两次。这些事件中的每一个都需要有自己的别名:

SELECT
    l.url
FROM
    b as b1 /* <-- */
    INNER JOIN links as l
      ON b1.parent_id = l.id
    INNER JOIN b as b2 /* <-- */
      ON l.id = b2.link
WHERE l.url LIKE 'http://domain%' LIMIT 0, 30

请注意,我还l为该links表添加了缺少的别名。



 类似资料:
  • 问题内容: 我得到错误 我不知道这是怎么回事。 问题答案: 尝试

  • 问题内容: 下面是我的代码,我只想显示我在sqlite数据库中插入的数据到文本视图,但是我遇到这个错误,说id不是唯一的。 这是我的整个Java代码。谢谢 :) 问题答案: 好吧,我认为这个项目在您首次运行时效果很好。当您第二次运行它时,由于是您的ID为1的行已被插入到您的数据库中,因此会出现错误。 要消除错误,请执行以下任一操作:

  • 问题内容: 有人知道为什么这对两个表别名“ x”都有效吗? 我知道ID为5的JOIN没有任何意义… 感谢您的教训! 问题答案: 下面的前两个查询是等效的。在连接的子句中,表别名仅指使用该别名的最后一个表,因此仅表受到限制。 在和表达式中,别名引用两个表-因此,列名是唯一的,则可以成功引用它们,但是,在列名相同的情况下,oracle会引发异常(如果删除了注释,则在查询3中会发生这种情况)。 我找不到

  • 我已经将完全相同的数据库表从MYSQL移到SQLite。以下查询在MYSQL中工作 但在SQLITE中,我得到一个“Error near'”。语法错误。使用cast到c的表别名,查询工作良好: Sqlite不喜欢查询的第一个版本的原因是什么?

  • 刚开始猪;试图从文件中加载数据并从今以后将其转储。加载似乎正确,没有引发错误。以下是查询: 你知道是什么导致了这个问题吗?

  • 我这样做是为了解决PostgreSQL中唯一约束的两列中有空值的问题: 请参见此处:使用空列创建唯一约束 但现在我有另一个问题,因为使用索引而不是约束,我有一个错误: 不存在与冲突规范匹配的唯一或排除约束 当我这样做SQL要求: 注意:我确实得到了正确的约束错误,没有“on conflict”行。