gpt4 book ai didi

mysql - 使用mysql从三个表中读取数据

转载 作者:行者123 更新时间:2023-11-29 14:53:40 26 4
gpt4 key购买 nike

我必须连接两个表中的数据。有地址和名称三个表记录。Id 是记录表的主键,地址和名称表的外键。特定记录可以有多个名称记录。

RECORD(id (PK),text,search)
address(address_id(PK),type,street,city, id (FK))
name(name_id(PK),name,id (FK))

I want to get the data from these three tables in a way so that i will get the only first name record for each record id,not all the name records for record id's.

insert into RECORD values (1,record1,record1search);
insert into RECORD values (2,record2,record2search);

insert into name values (1,xxx,1);
insert into name values name(2,yyy,1)
insert into name values name(3,zzz,2)

i want to retriev the values in way:

record_id,text,namename_id:

1,record1,xxx,1
2,record2,zzz,3

我想要特定记录的唯一名字记录,而不是第二或第三名字记录。

请帮忙。

最佳答案

您将需要通过记录 ID 对名称进行临时查询,以查找 FIRST ID 并使用该 ID 作为连接到实际名称表的基础。此外,您没有为地址表提供任何示例数据,但这将以与此处执行的名字查询类似的方式完成。另外,地址表是否会与特定的指定人员相关联,而不仅仅是 ID?这与记录 ID 是一对多关系吗?

select
r.id,
r.text,
n2.name,
n2.name_id
from
Record r,
join ( select n.id, min( n.name_id ) FirstNameID
from name n
group by n.id ) FirstNames
on r.id = FirstNames.id
join name n2
on FirstNames.FirstNameID = n2.name_id

关于mysql - 使用mysql从三个表中读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5168447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com