返回第一个表中的所有数据,如果存在则仅返回第二个表中的 1 个数据

2024-02-07

我正在使用MySql。

我有 2 个表,一个是带有主键 propertyId 的名称和数据列表。

表 2 包含具有主键 propertyImageId 的图像。

每个 propertyId 可能有多个图像或根本没有图像。

我需要获取属于agentId = 1的所有propertyId的列表,无论它是否有图像。

'SELECT a.*, b.* 
FROM property a LEFT OUTER JOIN property_images b 
ON a.propertyId = b.propertyId 
INNER JOIN 
( SELECT propertyId, MAX(created) maxCreated 
FROM property_images 
GROUP BY propertyId) c 
ON b.propertyId = c.propertyId ANd b.created = c.maxCreated 
WHERE agentId = 1 ');

我正在尝试此处提供的类似解决方案MySQL INNER JOIN 仅从第二个表中选择一行 https://stackoverflow.com/questions/12526194/mysql-inner-join-select-only-one-row-from-second-table

但是,如果图像存在,它仅返回 propertyId。我可以做什么,以便无论 property_images 是否存在,它都会返回 property 中的所有 propertyId?

一直致力于此,任何帮助将不胜感激。谢谢你!!


您可以按如下方式重写查询,内部查询为每个属性 id 获取具有最高创建列值的单个图像

SELECT 
  a.*,
  b.* 
FROM
  property a 
  LEFT JOIN 
    (SELECT 
      c.* 
    FROM
      property_images c 
      LEFT JOIN property_images d 
        ON c.propertyId = d.propertyId 
        AND c.created < d.created 
    WHERE d.propertyId IS NULL) b 
    ON a.propertyId = b.propertyId 
WHERE a.agentId = 1 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

返回第一个表中的所有数据,如果存在则仅返回第二个表中的 1 个数据 的相关文章

  • HTAccess - 令人困惑的干净网址

    如果我想简单地重定向 clients page to clients php view page我会使用像这样简单的东西 它效果很好 Options FollowSymlinks RewriteEngine on RewriteRule c
  • Mysql - Mysql2::错误:字符串值不正确:

    所以我建造了一个刮刀并拉动一些物体 问题是有些是外语 它使 mysql 数据库有点崩溃 这是我得到的错误 知道我能用这个做什么吗 谢谢 Mysql2 错误 列的字符串值不正确 xC5 x8Dga 第 1 行的 描述 插入sammiches
  • MySQL InnoDB 查询性能

    我正在尝试优化一个简单的 sql 查询 该查询将多次运行大量数据 这是场景 MySQL 与 InnoDB 表 where 和 join 中使用的所有字段都已索引 表有 FK 我不需要查询的整个缓存 但每个表的缓存是可能的 表有更多的更新 插
  • MySQL 按主键排序

    某些 SQL 服务器允许使用通用语句 例如ORDER BY PRIMARY KEY 我不相信这适用于 MySQL 是否有任何此类解决方法可以允许跨多个表自动选择 或者是否需要查找查询来确定主键 我一直在研究的解决方法包括调用SHOW COL
  • 通过货币换算获取每种产品类型的最低价格

    我想选择每种产品类型中最便宜的 包括运费 价格转换为当地货币 最便宜 产品 价格 产品 运费 seller to aud 我的数据库有如下表 PRODUCTS SELLERS id type id seller id price shipp
  • 在docker中使用MySQL数据库设置aspnetcore

    我正在尝试设置一个 docker compose 文件 其中包含 asp net core mysql 数据库和 phpmyadmin 的容器 设置我的 mysql 服务器没有问题 我可以使用 phpmyadmin 访问它 我的 asp n
  • 将 UPDATE 转换为 INSERT INTO ON DUPLICATE KEY UPDATE 语句

    我有这个 UPDATE MySQL 语句 效果很好 UPDATE table1 Inner Join table2 ON table2 id table1 gw id SET table1 field1 1 table1 field2 2
  • 如何将 MySQL 数据库更改为 UTC?

    我使用的是 Windows 7 对数据库方面的东西有点陌生 我尝试在 Google 上搜索如何将系统时区更改为 UTC 但文档有些高级 我不太确定如何更改此字段 在 my ini 文件的 mysqld 部分下 添加以下行 default t
  • MySQL 存储过程将值分配给 select 语句中的多个变量

    这是我的存储过程 我在为声明的变量赋值时遇到问题 当我执行它时 插入和更新命令工作正常 但声明变量的值保持为 0 但我在数据库中有一些价值 我怎样才能正确地做到这一点 BEGIN DECLARE PaidFee INT DEFAULT 0
  • MySql 最后插入 ID,连接器 .net

    我正在使用 MySql Connector net 我需要获取最后一个查询生成的插入 id 现在 我假设返回值是MySqlHelper ExecuteNonQuery应该是最后一个插入id 但它只返回1 我正在使用的代码是 int inse
  • 显示表 FULLTEXT 索引列

    我希望运行一个查询 该查询将返回表中全文索引的列列表 该表采用 MyISAM 格式 我将使用 php 来构建查询 理想情况下 我会运行查询 它会返回信息 以便我可以构造一个以逗号分隔的列字符串 例如 名 姓 电子邮箱 这在 MySQL 中可
  • 查询中列的顺序重要吗?

    当从 MySQL 表中选择列时 与表中的顺序相比 选择列的顺序是否会影响性能 不考虑可能覆盖列的索引 例如 您有一个包含行 uid name bday 的表 并且有以下查询 SELECT uid name bday FROM table M
  • MYSQL - 查找最近的前一天

    我可以以某种方式 不使用 PHP 找到一周中最近的前一天日期吗 Like 最近的上一个星期二的日期是哪一天 CURDATE INTERVAL WEEKDAY CURDATE wday IF WEEKDAY CURDATE gt wday 0
  • mysql-如何向列申请补助?

    用户名 撤销对数据库的选择 Person I set GRANT SELECT id ON database Person TO username localhost 不是工作 gt SELECT secret FROM Person Go
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • MYSQL 区分大小写的 utf8 搜索(使用 hibernate)

    我的登录表具有 utf8 字符集和 utf8 排序规则 当我想要检查用户名并检索该特定用户名的其他信息时 hql 查询会为我提供小写和大写相同的结果 我应该如何处理适用于案例的 HQL 查询 我使用 Mysql 5 和 java hiber
  • InnoDB 因读未提交而死锁! - Java - Glassfish - EJB3(JPA/Hibernate)

    几天来 我在使用 Glassfish EJB3 和 Mysql InnoDB 的 Java 应用程序上遇到了死锁问题 配置 Mysql InnoDB Ver 14 12 Distrib 5 0 51a 适用于 debian linux gn
  • 如何在Sequelize中设置查询超时?

    我想看看如何在 Sequelize 中设置查询的超时时间 我查看了 Sequelize 文档以获取一些信息 但我找不到我要找的东西 我发现的最接近的是 pools acquire 选项 但我不想设置传入连接的超时 而是设置正在进行的查询的超
  • MySQL PHP邮政编码比较具体距离

    我试图找出比较一个邮政编码 用户提供的 和一大堆其他邮政编码 现在大约有 200 个邮政编码 之间的距离的最有效方法 相对于加载时间 但它会随着时间的推移而增加 我不需要任何精确的东西 只是在球场上 我下载了整个美国的邮政编码 csv 文件
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr

随机推荐

  • 将 json 转换为对象列表时出现 ClassCastException

    我在用Jackson http jackson codehaus org 1 7 3 javadoc org codehaus jackson map ObjectMapper html处理json数据的库 我创建了一个generic将 j
  • 在构造函数中传递控制器总是不好的做法吗?

    我偶尔会通过传入视图控制器实例本身来实例化视图控制器中的类 以便我创建的对象可以调用控制器的方法来更新视图 这是总是 经常还是从来都不是一个坏习惯 具体来说 ViewController h 有 void updateButtonValue
  • 无法使用 VS2008 SP1 进入 .NET Framework 源代码

    不知何故 我的 VS2008 SP1 失去了进入 NET 框架源代码的能力 我一直在尝试使用复选框 我已经重新删除了符号缓存文件夹十几次 我尝试过各种调试符号服务器 它所做的只是下载一些 PDB 文件 但是当我尝试在 NET 中选择堆栈框架
  • 是否可以在 xelatex 中创建带有这样的数字的页脚?

    是否可以在 xelatex 中创建像上面这样的页脚 在第一页上要在右侧对齐的数字 在第二页上要在左侧对齐的数字 顶部边框是一个很好的补充 但不是必需的 我不需要数字旁边的任何文本 部分名称 documentclass 11pt a4pape
  • 检测 JSON 对象列表中的重复条目

    我有一个用 java 解析的 JSON 文件 它有几个对象列表 如下所示 phoneNumbers type home number 212 555 1234 type home number 212 555 1234 type fax n
  • 如何在asp.net core web api(无第三方)中实现JWT刷新令牌?

    我正在使用使用 JWT 的 asp net core 实现 Web api 我没有使用第三方解决方案 例如我正在尝试学习的 IdentityServer4 我已经让 JWT 配置正常工作 但对如何在 JWT 过期时实现刷新令牌感到困惑 下面
  • 如何使用git复制rails应用程序并部署到heroku

    我是编程和 Rails 的新手 我想创建一个我正在使用的 Rails 应用程序的副本 以无害地尝试一些东西 有没有一种简单的方法可以实现这一点 是的你可以 这些命令对于像我这样的新手来说并不明显 并且可能对其他人有帮助 首先 根据您计划调用
  • xDebug 和 PHPUnit 的代码覆盖率说是 100%,实际上不是

    我有以下功能 function foo p if p null throw new Exception bla if p null throw new Exception bla 我对此函数的测试没有涵盖抛出异常的行 但 PHPUnit 告
  • 在 Android 上使用 DU

    有没有类似于 unix 命令 du 我可以在 adb shell 上使用的东西 我正在尝试找到一种方法来查看每个文件有多大 因为我有一个应用程序变得非常大并且失去控制 并且我正在尝试确定它具体是哪个文件 数据库 以便我可以解决问题 我正在
  • 如何从 Ruby on Rails 输出 JSON?

    我希望有一个通过 AJAX 创建 更新的模型 在 Ruby on Rails 中如何做到这一点 另外 更具体地说 如何在 RoR 中输出 JSON def create response success gt false source So
  • 如何在Python中很好地打印出字典?

    我刚刚开始学习 python 正在构建一个文本游戏 我想要一个库存系统 但我似乎无法打印出字典而不使其看起来很丑 这是我到目前为止所拥有的 def inventory for numberofitems in len inventory c
  • 如何销毁tinyMce?

    我使用的是最新版本3 4 b3 我将它放在一个对话框中 它的内容是动态创建的 所以这意味着tiny 应该将自身绑定到的文本区域每次都会被创建 因此 当我第一次加载对话框时 会出现微小的情况 如果我第二次加载该对话框 该对话框将不会再次显示
  • 为什么 Rails RSpec 响应显示 302 而不是 401?

    我已经被这个问题困扰好几天了 我不知道它出了什么问题 几个月前我开始使用 Ruby on Rails 目前正在学习使用 API 进行身份验证 我看过其他类似的主题here https stackoverflow com questions
  • 在 BinaryObjects 的 Ignite 缓存上执行 SQL

    我正在从 Spark 数据帧创建 BinaryObject 的缓存 然后我想在该 ignite 缓存上执行 SQL 这是我的代码在哪里bank是包含三个字段 id name 和age 的数据框 val ic new IgniteContex
  • MATLAB 的堆栈大小是多少?

    MATLAB R2018a 64 位 的默认堆栈大小是多少 堆栈大小似乎比 64 位 C 程序大 我为什么这么问 我问这个问题是因为我正在调用英特尔 MKL拉帕克 dtrtri https software intel com en us
  • 在java中修改复杂的csv文件

    我想编写一个可以打印和修改不规则csv文件的程序 格式如下 1 date 2 organization name 3 student name id number residence student name id number resid
  • 将视觉选择发送到外部程序而不影响缓冲区

    我想要实现的是将视觉选择发送到外部程序而不影响缓冲区的内容 Example 让以下代码块代表当前缓冲区 让 代表视觉选择的结束 This is not a test 1 lt This is not gt a test 2 This is
  • YouTube 播放器.destroy();即使在验证玩家时也会抛出“this.a is null”

    所以我有一个带有两个面板的小应用程序 使用 iframe API 单击一个面板将全屏展开该面板 并显示 播放视频 按钮和一些附加信息 单击左上角的按钮将使 UI 返回到标准状态 关闭视频并将面板缩小到适合 50 50 现在我们有两个视频 我
  • 如何处理带有图像和文本视图的自定义列表视图中的图像视图的点击?

    我想知道我们如何处理带有图像和文本视图的自定义列表视图上的图像视图的点击 我什至使 Imageview 可点击 这是我的代码 自定义适配器 java public class CustomAdapter extends ArrayAdapt
  • 返回第一个表中的所有数据,如果存在则仅返回第二个表中的 1 个数据

    我正在使用MySql 我有 2 个表 一个是带有主键 propertyId 的名称和数据列表 表 2 包含具有主键 propertyImageId 的图像 每个 propertyId 可能有多个图像或根本没有图像 我需要获取属于agentI