我有QUERY
:
select
a.*
from
mt_proyecto a,
mt_mockup b,
mt_diseno c,
mt_modulo d
where
a.estado = 'A' and
(
(b.encargado = '1' and b.idproyecto = a.idmtproyecto) or
(c.encargado = '1' and c.idproyecto = a.idmtproyecto) or
(d.encargado = '1' and d.idproyecto = a.idmtproyecto)
)
group by
a.idmtproyecto
order by a.finalizado asc, a.feccrea desc
结果:
然后,我在服务器上使用相同的数据库运行相同的代码:
query
是否有任何问题?
答案 0 :(得分:0)
似乎查询在您的服务器上正常运行,并且没有返回任何行。请确保您在本地计算机和服务器上具有相同的表格内容。
其他事项:
专业提示:绝不要在软件中使用SELECT *
或SELECT table.*
。始终枚举结果集中所需的列。
除非您将GROUP BY
与SUM()
或`COUNT()等聚合函数一起使用,并从结果集中命名正确的列,否则会返回不可预测的结果。读这个。 http://dev.mysql.com/doc/refman/5.1/en/group-by-extensions.html
答案 1 :(得分:0)
我用这个QUERY
:
select
a.*
from
(
mt_proyecto a
left join mt_mockup b on
b.idproyecto = a.idmtproyecto
left join mt_diseno c on
c.idproyecto = a.idmtproyecto
left join mt_modulo d on
d.idproyecto = a.idmtproyecto
left join mt_integracion e on
e.idproyecto = a.idmtproyecto
left join mt_pruebas_internas f on
f.idproyecto = a.idmtproyecto
)
where
a.estado = 'A' and
(
(a.idmtproyecto = b.idproyecto and
b.encargado = '1' ) or
(a.idmtproyecto = c.idproyecto and
c.encargado = '1' ) or
(a.idmtproyecto = d.idproyecto and
d.encargado = '1' ) or
(a.idmtproyecto = e.idproyecto and
e.encargado = '1' ) or
(a.idmtproyecto = f.idproyecto =
f.encargado = '1' )
)
group by a.idmtproyecto
order by
a.finalizado asc, a.feccrea desc
谢谢大家回答我。我会做你的建议。