我有两个相同的表(除了名称),当我尝试运行以下内容时,我得到Error Code: 1054. Unknown column 'pages_jj.pageid' in 'where clause'
SELECT pages.pageid,pages.maintext FROM databasename.pages
WHERE pages.pageid=pages_jj.pageid LIMIT 50000;
请帮忙!
答案 0 :(得分:1)
您必须将pages_jj表添加到FROM子句,例如:
SELECT pages.pageid,pages.maintext FROM databasename.pages, databasename.pages_jj
WHERE pages.pageid=pages_jj.pageid LIMIT 50000;
答案 1 :(得分:0)
您需要在FROM子句中提及两个表,否则它将不知道pages_jj是什么。
SELECT pages.pageid,pages.maintext FROM databasename.pages, databasename.pages_jj
WHERE pages.pageid=pages_jj.pageid LIMIT 50000;
但请注意,这将返回两个表的交叉产品。如果 pageid 值在表 pages_jj 中是唯一的,那么没问题。但是,如果 pages_jj 可以包含多个具有相同 pageid 的行,那么页面中的行将被选择多次,因为 pages_jj 中的 pagesid ...这可能是也可能不是您所期望的。
要在页面中每个匹配行只发生一次,请使用以下命令:
SELECT pages.pageid, pages.maintext FROM databasename.pages
WHERE EXISTS (SELECT pageid FROM databasename.pages_jj WHERE pages.pageid=pages_jj.pageid) LIMIT 50000;