我有两个表,一个叫做"oficinas“,另一个叫做"registrovisitas”。
oficinas有列: idofi,ofi,address
registrovisitas包含列: idregistro、ofi、user、fechavista
我想选择地址类似于"de“的所有值,并将表"oficinas”中的所有信息和关联的max(fechavisita)作为ofi的日期组。
SELECT a.ofi of, a.address dir
FROM oficinas a
LEFT OUTER JOIN (SELECT ofi, max(fechavisita) ffg FROM registrovisitas ) b ON (a.ofi=b.ofi)
WHERE a.ofi LIKE %de%但是没有出现最大日期(fechavisita),我哪里做错了?
在注册表注册表中,不同用户在不同日期的同一ofi上有多个寄存器,我认为没有必要在select中放入group by吗?
发布于 2017-03-12 01:31:38
您忘记将列ffg添加到外部select子句
SELECT a.ofi of, a.address dir, ffg
FROM oficinas a
LEFT OUTER JOIN
(
SELECT ofi, max(fechavisita) ffg
FROM registrovisitas
GROUP BY ofi
) b ON a.ofi = b.ofi
WHERE a.ofi LIKE %de%您还需要在内部查询中按ofi分组
发布于 2017-03-12 01:36:25
SELECT a.idofi, a.ofi, a.address dir,
(select max(fechavisita) from registrovisitas where ofi=A.idofi group by ofi)
FROM oficinas a
WHERE a.ofi LIKE %de%https://stackoverflow.com/questions/42738336
复制相似问题