“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”在此位置无效[重复]的主要内容,如果未能解决你的问题,请参考以下文章