You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并两个关联不同INNER JOIN的SELECT查询获取卖家与买家姓名

解决方案

你只需要给UTILISATEURS表设置两个不同的别名,分别关联卖家身份和买家身份,即可在单个查询中同时返回两个字段:

SELECT 
    u_seller.nom AS nameSeller,
    u_buyer.nom AS nameCustomer
FROM ENCHERES e
INNER JOIN ARTICLES_VENDUS ac ON ac.no_article = e.no_article 
-- 关联卖家信息:商品表的用户ID对应卖家ID
INNER JOIN UTILISATEURS u_seller ON u_seller.no_utilisateur = ac.no_utilisateur
-- 关联买家信息:竞拍表的用户ID对应出价买家ID
INNER JOIN UTILISATEURS u_buyer ON u_buyer.no_utilisateur = e.no_utilisateur
-- 保留你原有的筛选条件,可按实际需求调整
WHERE ac.nom_article LIKE '%ta%'
AND e.no_utilisateur = 57

如果需要获取每个商品最新的竞拍记录,可以使用开窗函数过滤:

WITH RankedBids AS (
    SELECT 
        u_seller.nom AS nameSeller,
        u_buyer.nom AS nameCustomer,
        ROW_NUMBER() OVER (PARTITION BY e.no_article ORDER BY e.date_enchere DESC) AS bid_rank
    FROM ENCHERES e
    INNER JOIN ARTICLES_VENDUS ac ON ac.no_article = e.no_article 
    INNER JOIN UTILISATEURS u_seller ON u_seller.no_utilisateur = ac.no_utilisateur
    INNER JOIN UTILISATEURS u_buyer ON u_buyer.no_utilisateur = e.no_utilisateur
    WHERE ac.nom_article LIKE '%ta%'
)
SELECT nameSeller, nameCustomer 
FROM RankedBids 
WHERE bid_rank = 1

注:你提供的测试数据中商品名为Jouet,如果要在测试库中验证效果,可将模糊匹配条件改为ac.nom_article LIKE '%et%',买家ID条件改为e.no_utilisateur = 1即可得到示例结果。

执行结果

nameSellernameCustomer
bryanjohn

内容的提问来源于stack exchange,提问作者val.brlt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:18:03