Py学习  »  DATABASE

MYSQL 6.3中的内部连接问题

Goe Gilber • 5 年前 • 1265 次点击  

我正试图连接两个表中的数据,如下所示:

Select portt.nameport, tool.weapen
From Portt 
Where  portt.toolsum - (    select count(*) 
                            From tool               
                            Group by nameport) >2
INNER JOIN tool on tool.nameport=portt.nameport;

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN tool on tool.nameport=portt.nameport' at line 6

我不明白为什么。

Select portt.nameport
From Portt 
Where  portt.toolsum - (    select count(*) 
                            From tool               
                            Group by nameport) >2;
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/56542
 
1265 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Gordon Linoff
Reply   •   1 楼
Gordon Linoff    5 年前

首先,这个查询:

Select portt.nameport
From Portt 
Where  portt.toolsum - (select count(*) 
                        From tool               
                        Group by nameport
                       ) > 2;

你有一个 标量子查询 . 但是,如果可以返回多行,这将是一个错误。我猜您需要一个相关的子查询:

select p.nameport
from Portt p
where p.toolsum - (select count(*) 
                   from tool t          
                   where t.nameport = p.nameport
                  ) > 2;

那么, JOIN 操作人员 FROM

select p.nameport
from Portt p join
     tool t
     on t.nameport = p.nameport
where p.toolsum - (select count(*) 
                   from tool t          
                   where t.nameport = p.nameport
                  ) > 2;