首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL左连接语法

SQL左连接语法
EN

Stack Overflow用户
提问于 2017-03-12 01:28:12
回答 2查看 22关注 0票数 0

我有两个表,一个叫做"oficinas“,另一个叫做"registrovisitas”。

oficinas有列: idofi,ofi,address

registrovisitas包含列: idregistro、ofi、user、fechavista

我想选择地址类似于"de“的所有值,并将表"oficinas”中的所有信息和关联的max(fechavisita)作为ofi的日期组。

代码语言:javascript
复制
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吗?

EN

回答 2

Stack Overflow用户

发布于 2017-03-12 01:31:38

您忘记将列ffg添加到外部select子句

代码语言:javascript
复制
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分组

票数 0
EN

Stack Overflow用户

发布于 2017-03-12 01:36:25

代码语言:javascript
复制
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%
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42738336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档