T-SQL 选择条件连接

2024-03-08

假设我有 3 张桌子:

  1. Cars

    • Id
  2. 汽车颜色历史

    • Id
    • CarID
    • ColorID
    • 修改日期
  3. Color:

    • Id
    • 颜色名称

我想选择所有汽车及其颜色,但重要的是,汽车的颜色是最后修改的颜色CarColorHistory table.

我需要使用 join 来做到这一点。

Example:

Cars:

1
2

汽车颜色历史:

1 1 1 26/03/2012  -> (actual color, can be take by date or id)
2 1 2 25/03/2012
3 2 2 25/03/2012

Color:

1 Blue
2 Red

我需要得到结果:(汽车 ID,颜色名称)

1 Blue
2 Red

我尝试通过加入 Cars 表和 CarColorHistory 表来实现它,但我得到了所有颜色的汽车。我只需要实际颜色(最后添加)。

请帮忙


尝试这个:

select c.id, colorname
from cars c
inner join CarColorHistory h on c.id = h.CarID
inner join Color c2 on h.colorid = c2.id
where h.ModificationDate = (select max(ModificationDate)
                            from CarColorHistory x where c.id = x.CarId)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

T-SQL 选择条件连接 的相关文章

  • Informatica:工作流映射引用的 odbc.ini 文件错误

    我正在尝试从 Informatica Workflow 中执行工作流映射 来源是MSSQL Server和目标Oracle DB 该映射与其他所有映射类似 似乎都指的是系统的 etc odbc ini文件而不是坐在里面的人 INFA HOM
  • 使用 SQL 序数位置表示法的好处?

    背景资料 序数位置表示法 又称序数 是基于列列表中的列顺序的列简写 SELECT子句 而不是列名或列别名 通常支持在ORDER BY子句 某些数据库 MySQL 3 23 PostgreSQL 8 0 支持语法GROUP BY条款也是如此
  • Crystal Reports 假定存储过程中列的数据类型错误

    Crystal Reports Engine 有时认为从某些存储过程返回的字段实际上是类型的原因是什么money is a varchar 255 因此 我无法应用任何数字格式 你确定你有铸成金钱的领域吗 您最近是否更改了数据类型 并且之后
  • 如何在SQL Server中创建SYS模式的表?

    可以在 SQL Server 2008 sys 架构中创建表吗 我知道可以将表标记为系统 但不能更改架构 有什么窍门吗 您无法将自己的对象添加到 sys 架构中 无法在 sys 架构中创建用户定义的对象 盖尔 埃里克森 MS SQL Ser
  • 如何在 T-SQL 中实现 ZIP JOIN?

    假设我有表 Foo Id Color 1 Red 2 Green 3 Blue 4 NULL 和表 Bar Value 1 2 5 我想使用简单的语句创建表 Result 来获取 Id Color Value 1 Red 1 2 Green
  • 适用于 SQL Server 的 Microsoft ODBC 驱动程序 13:用户“sa”登录失败

    我正在安装 Informatica 的 MDM MDM 10 2 Jboss 6 4 EAP SQL Server 11 Windows Server 2008 R2 在创建模式 sip ant bat create bpm 期间 我收到此
  • 使用具有外键的表将数据从 asp.net 页面插入到我的数据库中

    我是一名初学asp net程序员 我的项目是网上购物课程 我有一些问题 我有 4 个表 它们之间有一些外键 CREATE TABLE dbo orderdetails orderid INT NOT NULL classid INT NOT
  • 在 T-SQL 中解析 JSON 数组

    在我们的 SQL Server 表中 我们有一个存储有字符串数组的 json 对象 我想以编程方式将该字符串拆分为几列 但是 我似乎无法让它发挥作用 或者即使有可能 是否可以在WITH子句中创建多个列 或者在select语句中创建多个列是更
  • 需要 SQL Server 查询帮助

    我在视图中存储一堆数据 将 MS Access 查询转换为视图 现在我想做的是编写一个存储过程来根据添加数据的时间提取数据 这是我正在运行的查询 Select Name PlanID ApptDate 1stAppt rn from Sel
  • 如何处理用户界面中的数据库约束违规?

    我们使用存储过程在数据库中实现大部分业务规则 我永远无法决定如何最好地将数据约束违规错误从数据库传递回用户界面 我所说的约束更多地与业务规则相关 而不是与数据完整性相关 例如 诸如 无法插入重复的键行 之类的数据库错误与业务规则 不能有多个
  • 表名搜索

    我使用以下命令在特定数据库的存储过程中搜索字符串 USE DBname SELECT Name FROM sys procedures WHERE OBJECT DEFINITION OBJECT ID LIKE xxx 修改上面的内容是否
  • 从表中删除孤儿

    我正在尝试清理一张有很多孤立项目的桌子 我通过查找空值来检查是否与另一个表存在关系来解决此问题 DELETE FROM table1 LEFT JOIN table2 ON table1 ID table2 ID WHERE table2
  • 使用 Switch 的报告服务表达式

    我无法让这个表达式与报告服务一起使用 我必须使用 IF 和 ELSE IF 语句 感谢您的任何建议 Switch IsNothing Fields field date Value Fields set flag Value 1 Decli
  • 仅使用扩展方法在 Linq 中进行漂亮、干净的交叉连接 [重复]

    这个问题在这里已经有答案了 可能的重复 使用扩展方法表示的嵌套 from LINQ 查询 https stackoverflow com questions 9115675 nested from linq query expressed
  • 如何使用 DateTime 执行 SQL NOT NULL?

    一个人如何处理DateTime with a NOT NULL 我想做这样的事情 SELECT FROM someTable WHERE thisDateTime IS NOT NULL But how 嗯 它有效吗 我刚刚测试过 Obje
  • 连接两个表的查询的 SQL Server“FOR XML”输出

    我是 SQL Server 中 FOR XML 功能的新手 我正在使用 SQL Server 2012 我有两个表 Word 和 Word Expansion 样本数据 表 字 WordOID Word 1 PIPE 2 WIRE 表 Wo
  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • 避免连接失败时出现空指针

    我有我的域类 带有命名查询 class Atendimento implements Serializable Funcionario funcionario static mapping funcionario column FUNCOD
  • 如何在存储过程中实现 sql 搜索功能 (Sql Server 2008)

    我需要编写一个存储过程 该过程将使用 sql server 2008 根据可选参数搜索表 将会有两种模式 基本搜索模式 我们只传递一些文本 高级搜索模式 使用可选参数而不使用 SearchText 为了进行测试 我使用 AdventureW
  • ActiveRecord:向包含的 ON 子句添加条件

    我有一个模型报价和另一个历史报价 一个报价有很多历史报价 现在 我想立即加载一组报价的某一天的历史报价 如果存在 为此 我认为我需要将这一天传递给 ON 子句 而不是 WHERE 子句 以便我获得所有报价 即使在给定日期没有历史报价时也是如

随机推荐

  • Windows 下以 cygwin 和 Github 结尾的行

    我希望能够使用 Windows 应用程序的 Github 以及使用 Cygwin 在 Windows 上 的命令行中的 git 来处理我的 git 项目 但当我从一种切换到另一种时 我不断遇到行尾问题 如果使用命令行工具存储库没有更改 它将
  • 如何模拟从不同模块导入的方法中导入的函数[重复]

    这个问题在这里已经有答案了 我有以下功能要测试 my package db engine db functions py from utils import execute cmd from my package db engine db
  • 使用jquery获取facebox div内元素的值

    我的页面上有两个 div 标签 如下所示 当我引用 itemName 元素的值时 使用 itemName val 我在两个 div 中都有 我总是得到第一个 div 中元素的值 即 空白 有没有办法使用 jquery 获取第二个 div 中
  • 在所有地址上运行我自己的用户脚本有风险吗?

    Tampermonkey 对于大多数浏览器 和 Greasemonkey 对于 Firefox 都支持 match and include指令 当我开始阅读它们之间的区别时 结果发现 match有点严格 用户脚本不会在某些地址上启动 这可能
  • 如何获得具有固定总和和大小的随机数列表

    如何根据给定大小和期望总和获取随机数列表 完全支持 i hava a code sum int ts https github com bluelovers random blob master src distributions sum
  • IronPython 3 兼容性

    我喜欢Python语言 主要使用标准CPython 3 版本来进行简单的脚本编写和作为算法沙箱 有时我需要 NET集成 所以我使用IronPython 它现在是2 7版本 我更喜欢 3 因此不愿意使用旧的 2 7 有没有关于何时发布以及迁移
  • kusto now() 函数在单个查询中返回相同的值

    我正在尝试检测 kusto 函数的一部分来检查不同场景下的执行时间 但是我找不到打印前后时间的方法 print now
  • Heroku 上的 Django 与 PostgreSQL 应用程序不同步

    我正在尝试按照以下教程在 Heroku 上运行 Django Heroku 上的 Django 入门 https devcenter heroku com articles django 一切都运行良好 直到我到达syncbd部分 同步数据
  • java中的递归方法记忆化

    我正在做家庭作业 我已经筋疲力尽了 我是编程新手 这是我的第一堂编程课 这就是问题 考虑 Collat z java 中的以下递归函数 它与数论中一个著名的未解决问题 称为 Collat z 问题或 3n 1 问题 相关 public st
  • 动态组件的 Angular i18n 翻译

    我已经阅读了大量有关 Angular 2 i18n 的文章 并且一直在寻找尝试构建动态组件的最佳方法 问题 i18n 无法将变量文本转换为动态 xlf 文件 i18n 使得使用 i18n 属性创建带有文本的动态组件变得困难 可能的解决方案
  • 尝试在已经呈现的视图控制器上呈现 UIAlertController (null) [Swift]

    我有一个警报视图 试图在照片视图上呈现 照片显示在列表中 并且可以推送到全屏视图 照片视图正在以编程方式显示 我认为这就是导致问题的原因 因为警报视图试图在已经呈现的 照片 视图之上呈现另一个视图 警报视图正在尝试显示 但出现此错误 War
  • 如何接收USB连接状态广播?

    我正在尝试在我的应用程序中检测 USB 连接 即 USB 是否连接到设备 它正在 Marshmallow 6 0 1 sdk23 上进行测试 但我无法接收广播操作 ACTION USB DEVICE ATTACHED 或 ACTION US
  • 是什么导致 Java 中的旋转和同步时间过长?

    在 Java 8 Update 45 中 将这些选项添加到java call XX PrintGCApplicationStoppedTime XX PrintSafepointStatistics XX PrintSafepointSta
  • 替换 Apache POI 中的表列值

    我正在使用 Apache POI 3 7 我正在尝试替换Word文档 docx 中表列的值 但是 我所做的是它不断附加文档中当前值的值 但如果表列值为空 则会放置该值 你能给我一些如何解决这个问题的想法吗 下面是我到目前为止所做的代码 提前
  • 如何在 Eclipse 中使用“ADT 21.0.1”为 Android 模拟器安装皮肤(来自三星)?

    如何在 Eclipse 中使用 ADT 21 0 1 为 Android 模拟器安装皮肤 来自三星 我可以用 ADT 16 0 1 做到这一点 我使用了三星 Galaxy S2 的皮肤http developer samsung com a
  • R数组取子集:灵活使用drop

    正如已注意到的那样R数组取子集 长度为1时维度丢失 https stackoverflow com questions 12755397 subsetting r array dimension lost when its length i
  • 多用户共享Excel文件并自动刷新

    关于让共享 Excel 文件自动刷新有什么建议吗 我们需要 3 个用户来处理文件服务器上的 Excel 文件 一名用户将进行更改 其他人是只读的 但他们必须尽快看到更改 有关如何执行此操作的任何指示 在您的 Excel 文件中 您需要启用工
  • Fetch API 和 Axios 是否将 304 响应视为 200?

    我不知道是否会这样 但是如果我的服务器以 HTTP 状态代码 304 响应 Fetch API 特别是response ok and axios get 看到响应为 200 吗 两者的文档都谈到 如果响应代码在 200 299 范围内 则请
  • PHP 上下文中线程安全意味着什么? [复制]

    这个问题在这里已经有答案了 可能的重复 PHP中什么是线程安全或非线程安全 https stackoverflow com questions 1623914 当某些东西是或不是线程安全时 这意味着什么 例如 PHP 中的 setlocal
  • T-SQL 选择条件连接

    假设我有 3 张桌子 Cars Id 汽车颜色历史 Id CarID ColorID 修改日期 Color Id 颜色名称 我想选择所有汽车及其颜色 但重要的是 汽车的颜色是最后修改的颜色CarColorHistory table 我需要使