我有两张桌子,一张叫做“oficinas”,另一张叫做“registrovisitas”。
oficinas有专栏:idofi,ofi,地址
registrovisitas有专栏:idregistro,ofi,user,fechavista
我想选择地址就像“de”的所有值,其中“oficinas”表中的所有信息和相关的max(fechavisita)作为日期组byi。
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)没有出现,我做错了什么?
在registrovisitas表中,不同用户在不同日期的同一个oni上有多个注册表,我认为不是必须在select中进行分组吗?
答案 0 :(得分:0)
您忘记将列ffg
添加到外部选择子句
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
进行分组
答案 1 :(得分:0)
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%