You need to enable JavaScript to run this app. PostgreSQL指定用户ID查询交易并显示收发双方姓名如何实现?
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL指定用户ID查询交易并显示收发双方姓名如何实现?

PostgreSQL 查询指定用户关联交易及双方用户名方案

前提表结构约定

先明确两张表的核心字段(如果你的字段名不同,对应替换即可):

  • users 表:主键为user_id,存储用户名字段为first_name
  • transactions 表:sender_id(发送方ID,关联users.user_id)、receiver_id(接收方ID,关联users.user_id)、amount(交易金额)、transaction_date(交易日期)

核心解决逻辑

需要两次关联users表,分别给发送方、接收方的用户表设置不同别名,即可同时取出双方的名字,再过滤指定用户参与的交易即可。

可直接运行的SQL代码

SELECT 
  t.transaction_id,
  t.sender_id,
  u_sender.first_name AS sender_first_name,
  t.receiver_id,
  u_receiver.first_name AS receiver_first_name,
  t.amount,
  t.transaction_date,
  -- 可选:追加字段标识当前用户是转出还是转入
  CASE WHEN t.sender_id = {n} THEN '转出' ELSE '转入' END AS transaction_type
FROM transactions t
-- 关联发送方用户信息
JOIN users u_sender ON t.sender_id = u_sender.user_id
-- 关联接收方用户信息
JOIN users u_receiver ON t.receiver_id = u_receiver.user_id
-- 过滤指定用户ID n 参与的所有交易
WHERE t.sender_id = {n} OR t.receiver_id = {n}
ORDER BY t.transaction_date DESC;

将上述SQL中的{n}替换为你要查询的目标用户ID即可。


内容的提问来源于stack exchange,提问作者MinaMaherNicola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 21:48:02