“in”在此位置无效[重复]

Posted

技术标签:

【中文标题】“in”在此位置无效[重复]【英文标题】:"in" is not valid at this position [duplicate] 【发布时间】:2019-10-05 13:46:56 【问题描述】:

我不确定 mysql 语句有什么问题。错误提示“IN 在此位置无效,应为:EOF, ';'

这是我的sql语句:

 CREATE VIEW collab AS
 SELECT a.author_name AS Author, ca.no0fCollab
 FROM (SELECT * FROM author) as a, (SELECT * FROM coauthors) as ca
     WHERE a.author_id = ca.author_id
 AND a.author_id IN (
  SELECT UA.author_id
  FROM uniq_authored UA JOING publication p 
  ON P.pubid = UA.pubid
  WHERE (p.pubkey LIKE 'journals/%' OR p.pubkey LIKE 'conf/%')
  AND p.title LIKE '%data%'
  );

【问题讨论】:

真的 - 我得到的错误是 ERROR 1349 (HY000): View's SELECT contains a subquery in the FROM 子句 什么版本的 MySQL?什么平台?你没有提供任何细节。 不要在正确的语法中使用子查询来自作者 a join coauthors ca on a.author_id = ca.author_id 请不要破坏您的帖子;人们已经努力帮助您,您不能仅仅通过删除您的帖子内容来使他们的工作无效。 JOING 可能是个问题。 【参考方案1】:

您不能在视图中使用 FROM(子查询) 但你不需要......你可以使用连接重构你的查询并避免子查询

  CREATE VIEW collab AS
  select a.author_name Author, ca.no0fCollab
  FROM author a
  INNER JOIN coauthors ca ON a.author_id = ca.author_id
  INNER JOIN uniq_authored ua ON a.author_id = ua.author_id
  INNER JOIN publication p ON P.pubid = ua.pubid 
    AND (p.pubkey LIKE 'journals/%' OR p.pubkey LIKE 'conf/%')
      AND p.title LIKE '%data%'

【讨论】:

以上是关于“in”在此位置无效[重复]的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 错误:HAVING 在此位置无效,需要 EOF,';'

"LEFT" 在此位置无效,应为 ';' - SQL过程

“分隔符”在此位置无效,需要 CREATE

“from”在此位置无效,期待:EOF,“;” [复制]

代码分析VS2012 - 位置0的方法类型参数无效

为啥在Visual Studio中擦除位置之前矢量的c ++迭代器也无效?