数据表链接

自己在网上发了一个帖子,问题如下:

假如有一个表 ACCOUNT

ACCOUNTID, NAME, TYPE
A001, JOHN, TUTOR
A002, MIKE, TUTOR
A003, JIM, STUDENT
A004, LILY, STUDENT

另一个表 APPOINTMENT
STUDENTID, TUTORID
A003, A001
A004, A002

备注:STUDENTID和TUTORID都是ACCOUNTID的外键。

现在想得到student和tutor名字的对应列表,比如根据表APPOINTMENT和ACCOUNT,有如下结果
STUDENTNAME, TUTORNAME
JIM, JOHN

LILY, MIKE

答案: (来自优快云网友回答)

create table ACCOUNT(ACCOUNTID varchar(10), NAME varchar(10), TYPE varchar(10))

insert into ACCOUNT
select 'A001', 'JOHN', 'TUTOR' union all
select 'A002', 'MIKE', 'TUTOR' union all
select 'A003', 'JIM', 'STUDENT' union all
select 'A004', 'LILY', 'STUDENT'

create table APPOINTMENT(STUDENTID varchar(10), TUTORID varchar(10))

insert into APPOINTMENT
select 'A003', 'A001' union all
select 'A004', 'A002'
go

select (select NAME from ACCOUNT a where a.ACCOUNTID = aa.STUDENTID) STUDENTNAME,
       (select NAME from ACCOUNT a where a.ACCOUNTID = aa.TUTORID) TUTORNAME
from APPOINTMENT aa
/*
STUDENTNAME	TUTORNAME
JIM	JOHN
LILY	MIKE
*/

或者

select  b. name  'STUDENTNAME' ,c. name  'TUTORNAME'
  from  APPOINTMENT a
  left  join  ACCOUNT b  on  a.STUDENTID=b.ACCOUNTID
  left  join  ACCOUNT c  on  a.TUTORID=c.ACCOUNTID

UDS(统一诊断服务)是在车辆中使用的一种通信协议,它是基于ISO 14229标准开发的,用于车辆的诊断通信。在UDS中,数据的传输涉及多种不同类型的,包括连续帧和多等。 连续帧(Flow Control Frame):在处理较大的数据传输时,如果数据量超过了能够承载的大小,就需要将数据分割成多个来传输。连续帧用于标记一个数据消息的多个的连续部分。它们通常会包含一个连续帧计数器,这个计数器会指明当前是该消息中的第几,以及消息总共有多少(Flow Control Frame):用于制数据的发送速率,确保发送端和接收端的数据处理能够匹配。可以是正向的,比如发送方请求继续发送更多的数据,也可以是反向的,比如接收方请求发送方减慢发送速度或者暂停发送。在UDS中,制通常通过发送特定的消息(如ISO 14229-3中定义的和连续帧)来实现。 多(Multi Frame):当传输的数据量超过一个的最大数据载荷时,就需要使用多传输。多传输涉及到将数据分成多个连续的,每个都有序号和总数的信息,接收方通过这些信息将多个重新组合成原始的数据消息。 在使用多传输时,发送方和接收方之间的通信需要有相应的协议来确保数据的完整性和顺序性。如果在数据传输过程中,接收方没有正确地接收到某个,它可以通过发送来请求重传那个特定的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值