2016-08-05 17 views
-4

告诉我查询是否正确,或包含任何错误:如何确定SQL语句是否会运行?

select cname from company where id IN (
    select company_id,count(*) from medication 
    group by(company_id) having count(*)>1 
) 
order by cname; 
+1

它是否运行?你有没有得到任何错误? – tadman

+1

取决于表结构和预期的结果,查询将产生 –

回答

0

包含你不能在(选择COMPANY_ID,计数(错误删除计数()可能适合您,请检查以下

/* 
create table company(id int,cname varchar(10)); 
insert into company values 
(1,'abc'),(2,'def'),(3,'ghi'); 

create table medication(id int,company_id int); 
truncate table medication; 
insert into medication values 
(1,1), 
(2,1), 
(3,1), 
(4,2), 
(5,2), 
(6,2), 
(7,3), 
(8,2); 
*/ 

这个代码

select cname from company 
where id IN (select company_id from medication group by(company_id) having count(*) > 1) 
order by cname; 

结果

+-------+ 
| cname | 
+-------+ 
| abc | 
| def | 
+-------+