技术求助:双外键关联双表查询,补全交易查询的投资者名称
解决双外键关联用户表的SQL查询问题
很简单,你只需要两次关联users表就行啦——因为transactions里的investor_id和borrower_id都是指向users表的外键,得用不同的表别名来区分投资者和借款人的信息。
给你补全后的完整可运行SQL语句:
SELECT TOP 5 t.id AS 交易ID, t.investor_id AS 投资者ID, u1.username AS 投资者名称, t.borrower_id AS 借款人ID, u2.username AS 借款人名称, t.amount AS 交易金额 FROM transactions t JOIN users u1 ON t.investor_id = u1.id -- 关联投资者的用户信息 JOIN users u2 ON t.borrower_id = u2.id -- 关联借款人的用户信息 ORDER BY t.amount DESC; -- 按交易金额从高到低排序
关键点说明:
- 用
u1和u2作为users表的两个别名,分别对应投资者和借款人,避免字段名冲突 - 明确指定每个字段的别名(比如
AS 交易ID),让返回结果更清晰 - 最后加上
ORDER BY t.amount DESC确保结果按金额从高到低排列,再用TOP 5取前5条
内容的提问来源于stack exchange,提问作者user9092800
相关产品推荐
相关产品推荐

