0
需要帮助,我们如何结合这些查询?香港专业教育学院的一个问题在连接语句..mysql组合查询
SELECT hc.id_company, hc.name, hc.email, dc.country, dc.date_join,
sum(if(ha.type='ADMIN',1,0)) as ADMIN,
sum(if(length(ha.type)=6,1,0)) as STAFF,
sum(if(ha.type='CUST',1,0)) as CUST
from h_company hc, d_company dc
JOIN h_adminstaffcust ha USING (id_company)
where hc.id_company=dc.id_company
group by id_company;
SELECT max(logs.date)
FROM h_company hc LEFT JOIN logs ON (hc.id_company = logs.id_company)
group by hc.id_company
having max(logs.date)<'2009-08-15';
thx2非常重要的帮助.. 最后我修改,以消除先加入的第一个查询。 这里是我的代码结合在一起......
SELECT
hc.ID_COMPANY,
hc.NAME,
hc.email,
(SELECT dc.country FROM d_company dc WHERE hc.ID_COMPANY = dc.ID_Company) as country,
(SELECT dc.date_join FROM d_company dc WHERE hc.ID_COMPANY = dc.ID_Company) as date_join,
max(logs.date),
(SELECT COUNT(ha.ID_COMPANY) FROM h_adminstaffcust ha WHERE hc.ID_COMPANY = ha.ID_Company and TYPE = 'ADMIN') as ADMIN,
(SELECT COUNT(ha.ID_COMPANY) FROM h_adminstaffcust ha WHERE hc.ID_COMPANY = ha.ID_Company and TYPE = 'CUST') as CUST,
(SELECT COUNT(ha.ID_COMPANY) FROM h_adminstaffcust ha WHERE hc.ID_COMPANY = ha.ID_Company and length(TYPE)=6) as STAFF
FROM h_company hc LEFT JOIN logs ON (hc.id_company = logs.id_company)
GROUP BY hc.ID_COMPANY
having max(logs.date)<'2009-08-15';
我没有任何关于存在的想法。但它返回错误: #1064 - 您的SQL语法有错误; ( SELECT 1 FROM h_company hc1 LEFT JOIN登录(hc1.id_company ='在第8行 – 2009-08-24 04:09:13
@Daniel:忘记了'和': ) – Eric 2009-08-24 04:19:07
雅我已经添加了'和'但它返回零结果..嗯..即时通讯使用它使每个查询,现在不能结合它大声笑 – 2009-08-24 04:21:30