一对多的表关系 查询出一对一的显示

创建2张表  Table_A 和 Table_B  关系是一对多,   表Table_A.Id = Table_B.aId

CREATE TABLE [dbo].[Table_A](
 [Id] [char](36) NULL,
 [column1] [nvarchar](50) NULL,
 [column2] [nvarchar](50) NULL
) ON [PRIMARY]

CREATE TABLE [dbo].[Table_B](
 [Id] [char](36) NULL,
 [aId] [char](36) NULL,
 [column1] [nvarchar](50) NULL,
 [column2] [nvarchar](50) NULL,
 [columnDatetime] [datetime] NULL
) ON [PRIMARY]

插入一些测试数据

INSERT Table_A (id,column1,column2) VALUES (NEWID(),‘table1_row1_1‘,‘table1_row1_2‘)
INSERT Table_A (id,column1,column2) VALUES (NEWID(),‘table1_row2_1‘,‘table1_row2_2‘)
INSERT Table_A (id,column1,column2) VALUES (NEWID(),‘table1_row3_1‘,‘table1_row3_2‘)
 
INSERT Table_B (id,aId,column1,column2,columnDatetime) VALUES (NEWID(),‘A75A6798-9C34-4FA2-AB23-AA146704A71C‘,‘table2_row1_1‘,‘table2_row1_2‘,‘2014-12-22‘)
INSERT Table_B (id,aId,column1,column2,columnDatetime) VALUES (NEWID(),‘A75A6798-9C34-4FA2-AB23-AA146704A71C‘,‘table2_row2_1‘,‘table2_row2_2‘,‘2014-12-23‘)
INSERT Table_B (id,aId,column1,column2,columnDatetime) VALUES (NEWID(),‘A75A6798-9C34-4FA2-AB23-AA146704A71C‘,‘table2_row3_1‘,‘table2_row3_2‘,‘2014-12-24‘)
INSERT Table_B (id,aId,column1,column2,columnDatetime) VALUES (NEWID(),‘FA5543B4-9EF0-4DD1-8801-76F12633223E‘,‘table2_row4_1‘,‘table2_row4_2‘,‘2014-12-22‘)
INSERT Table_B (id,aId,column1,column2,columnDatetime) VALUES (NEWID(),‘FA5543B4-9EF0-4DD1-8801-76F12633223E‘,‘table2_row5_1‘,‘table2_row5_2‘,‘2014-12-23‘)

我这边第一条生成的ID是 ‘A75A6798-9C34-4FA2-AB23-AA146704A71C‘

SELECT * FROM  dbo.Table_A
LEFT JOIN Table_B ON Table_B.aId = dbo.Table_A.Id
WHERE Table_B.aId = ‘A75A6798-9C34-4FA2-AB23-AA146704A71C‘

我这边只取时间晚的一条作为显示

SELECT * FROM  dbo.Table_A
OUTER APPLY (SELECT TOP 1 * FROM Table_B WHERE Table_B.aId = dbo.Table_A.Id ORDER BY columnDatetime DESC) Table_B
WHERE Table_B.aId = ‘A75A6798-9C34-4FA2-AB23-AA146704A71C‘

以下内容摘自博客园夏雪光转载请注明出处:http://www.cnblogs.com/leoxjy/p/4184457.html

时间: 2024-11-10 11:40:49

一对多的表关系 查询出一对一的显示的相关文章

springdata_多表关系中的一对一__小案例

一.创建maven工程,引入依赖,设置配置文件 依赖和配置文件的设置可以参考,之前的博客<springdata__jpa> 二.创建实体类 1.customer类 package cn.dzl.jpa.entity; import javax.persistence.*; @Entity@Table(name = "cust_customer")public class Customer { //设置主键自增策略 @GeneratedValue(strategy = Gen

mybtis两表关联查询相同名字字段显示混乱

如图 由于表 trade 和表 database 都有name字段.代码执行之后结果集中类database中的name值被trade中的name值覆盖.无法得到正确结果. 解决方法1:直接修改数据库字段,把表trade中name改成tradename,当然修改数据库不推荐. 如果这个表只有你在操作,相关代码不多,也没问题. 解决方法2:修改映射database中column="dname",并且在sql中设置别名 AS dname.推荐此方法. 原文地址:https://www.cnb

数据库表关系及配置

1.数据库表中的关系 一对一 一对多(多对一) 多对多 2.如何确立和实现数据库中的表关系 一对多的表关系实现: 使用外键约束 我们习惯把一的方称为主表,把多的方称为从表 外键:从表中有一列,除了null之外,只能来源于主表的主键 默认情况下,外键的字段是可以重复的 多对多的表关系在数据库中实现: 使用中间表 中间表有两个外键,引用两个多对多表的主键 不能有其它字段信息,至于中间表的主键,应该采用联合主键 任何一个多方表和中间表去比较都是一对多的关系 一对一的表关系再数据库中实现: 有两种: 1

数据库表的查询操作(实验二),数据库表查询实验

[实验目的]:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识.[实验要求]:掌握利用Select语句进行各种查询操作:单表查询.多表连接及查询.嵌套查询.集合查询等.[实验内容]一.单表查询1.简单查询打开查询分析器,根建立teacher表,并加入数据.从teacher表中分别检索出教师的所有信息,以及仅查询教工号.姓名和职称.语句如下: select * from teacher select tno, tname from teacher 如要查询时改变列标题的显示,则从te

2019.09.24学习整理 数据库的字段操作、多表关系、外键

目录 字段操作 多表关系 外键 一对一 无级联关系 有级联关系 一对多 多对多 数据库的字段操作.多表关系.外键 字段操作 create table tf1( id int primary key auto_increment, x int, y int ); #修改 alter table tf1 modify x char(4) default ''; alter table tf1 change y m char(4) default ''; #增加 mysql>: alter table

oracle 多表联合查询总结归纳

本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查询一起完成各个复杂查询的操作: 一.多表查询的基本概念 在之前所使用的查询操作之中,都是从一张表之中查询出所需要的内容,那么如果现在一个查询语句需要显示多张表的数据,则就必须应用到多表查询的操作,而多表查询的语法如下: SELECT [DISTINCT] * | 字段 [别名] [,字段 [别名] ,-] FROM 表名称 [别名]

表关系(一对一,一对多,多对多)

可以在数据库图表中的表之间创建关系,以显示一个表中的列与另一个表中的列是如何相链接的. 在一个关系型数据库中,利用关系可以避免多余的数据.例如,如果设计一个可以跟踪图书信息的数据库,您需要创建一个名为 titles 的表,它用来存储有关每本书的信息,例如书名.出版日期和出版社.您也可能保存有关出版社的信息,诸如出版社的电话.地址和邮政编码.如果您打算在 titles 表中保存所有这些信息,那么对于某出版社出版的每本书都会重复该出版社的电话号码. 更好的方法是将有关出版社的信息在单独的表,publ

约束条件 ,表与表之间的关系 和多表联合查询***

一.约束条件    为了确保数据的完整性 可以给列加上约束条件    完整性的分类:        1.实体完整性        2.域完整性        3.引用完整性    1.实体完整性        实体:即表中的一行(一条)记录 代表一个实体 entity        实体完整性的作用:标识每一行数据不重复        约束类型:            1.1 主键约束(primary key)            1.2 唯一约束(unique)            1.3

Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理

Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理 本博文主要介绍 Laravel 框架中 Eloquent  对一对多关系的处理,在 Laravel Administrator(后台扩展包) 您的数据库可能是彼此相关的.比如,一篇博客文章可能有许多评论,或者一个订单与下订单的用户相关.Eloquent 使得管理和处理这些关系变得简单.Laravel 提供了四种类型的关系: -一对一 -一对多 - 多对多 - 多态关系 一对多 一个一对多关系的例子是一篇博客文章有许多评