gpt4 book ai didi

Mysql全选时通过FK获取实际值

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:42 27 4
gpt4 key购买 nike

我需要select * FROM sections 并获取每行的列值以填充JTable。我的问题是我在 section 表上的 adviserId 列是 INT

而且因为我得到的是每一行每一列的结果集,所以我不能发出 WHERE 子句。我想到了子查询,但由于每一行的 Id 都不同,因此无法在 WHERE 子句上提供预定的 Id

因此,如果我运行我的存储过程,我只会得到 adviserIdint 值,而不是教师的姓名。

我有teacherssections 表。

老师

id PK INT
lastName
firstName
middleName
isAdviser
status

章节

id PK
name
adviserId FK-- REFERENCING `id` column ON teacher table

什么是最好的方法?我希望你能帮上忙。

谢谢。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++我根据大家的建议创建了最终的存储过程。 (再次感谢大家。)

CREATE DEFINER=`root`@`localhost` PROCEDURE `getAllSectionsInfo`()
BEGIN
SELECT
s.`name` AS `Section Name`,
s.`session` AS `Session`,
CONCAT(t.lastName,',',t.firstName,' ',t.middleName) AS Adviser,
s.yearLevel AS `Year Level`,
CONCAT(syStart,'-',syEnd) AS SchoolYear

FROM sections s
INNER JOIN
teacher t on s.adviserId = t.id;
END

最佳答案

是的,我也这么认为,一个简单的 inner join 就可以完成你的工作。试试下面的例子..

create table JTable as select T.id as Tid,T.lastName,T.firstName,T.middleName,T.isAdviser,T.status,S.id as Sid,S.name,S.adviserId
from Sections as S
inner join Teachers as T on T.id = S.adviserId

您可以在此处应用left join 以确保您拥有Section 表中与Teachers 数据或空数据相关的所有记录.所以,现在 JTable 将包含您已放在选择列表中的所有列。

关于Mysql全选时通过FK获取实际值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38195512/

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