当我在另一个查询中嵌套一个查询时,出现错误 "SQL error 1241 operand should contain 5 column(s)"
When I nest a query within another query I am getting the error "SQL error 1241 operand should contain 5 column(s)"
SELECT *
FROM AUTHOR
WHERE FLOOR(DATEDIFF(bDate,CURDATE())/365.25*-1) > 30 AND
(SELECT a.*
FROM AUTHOR a
WHERE (SELECT count(paperId) from AUTHOR_PAPER ap where ap.authorId = a.aEmail)) > 3
这两个查询都是独立工作的,我只想找出两个 where 子句
表格
author
(aEmail*
,fName
,lName
,bDate
,city
)
reviewer
(rEmail*
,phoneNumber
,lName
,fName
,city
)
paper
(paperId*
,title
,abstract
,submissionDate
)
author_paper
(authorId*
,paperId*
,isContact
)
paper_review
(paperId*
,reviewerId*
,score
,reviewSubmissionDate
,reviewInvitationDate
)
* = (component of) PRIMARY KEY
我得到的错误是:17:05:14 SELECT * FROM AUTHOR WHERE FLOOR(DATEDIFF(bDate,CURDATE())/365.25-1) > 30 AND (SELECT a. FROM AUTHOR a WHERE (SELECT count(*) from AUTHOR_PAPER ap where ap.authorId = aEmail)) > 3 LIMIT 0, 1000 错误代码: 1241. 操作数应包含 5 列 0.000 秒
aEmail = authorId
您似乎需要 30 岁以上且发表了 3 篇以上论文的作者。如果是这样,我会推荐:
select *
from author a
where
bdate <= current_date - interval 31 year
and (select count(*) from author_paper ap where ap.authorid = a.email) > 3
SELECT *
FROM AUTHOR
WHERE FLOOR(DATEDIFF(bDate,CURDATE())/365.25*-1) > 30 AND
(SELECT a.*
FROM AUTHOR a
WHERE (SELECT count(paperId) from AUTHOR_PAPER ap where ap.authorId = a.aEmail)) > 3
这两个查询都是独立工作的,我只想找出两个 where 子句
表格
author
(aEmail*
,fName
,lName
,bDate
,city
)
reviewer
(rEmail*
,phoneNumber
,lName
,fName
,city
)
paper
(paperId*
,title
,abstract
,submissionDate
)
author_paper
(authorId*
,paperId*
,isContact
)
paper_review
(paperId*
,reviewerId*
,score
,reviewSubmissionDate
,reviewInvitationDate
)
* = (component of) PRIMARY KEY
我得到的错误是:17:05:14 SELECT * FROM AUTHOR WHERE FLOOR(DATEDIFF(bDate,CURDATE())/365.25-1) > 30 AND (SELECT a. FROM AUTHOR a WHERE (SELECT count(*) from AUTHOR_PAPER ap where ap.authorId = aEmail)) > 3 LIMIT 0, 1000 错误代码: 1241. 操作数应包含 5 列 0.000 秒
aEmail = authorId
您似乎需要 30 岁以上且发表了 3 篇以上论文的作者。如果是这样,我会推荐:
select *
from author a
where
bdate <= current_date - interval 31 year
and (select count(*) from author_paper ap where ap.authorid = a.email) > 3