【问题标题】:how to select previous record with LEFT JOINed tables in MySQL?如何在 MySQL 中使用 LEFT JOINed 表选择以前的记录?
【发布时间】:2012-06-24 07:17:48
【问题描述】:

我正在努力让以下工作:

# prev
SELECT klha.buyerID < PARAMETER_1

    FROM agents AS v

    LEFT JOIN seller_authorized AS klhs 
        ON klhs.agent= v.agentID 
        AND klhs.iln = v.seller
        AND v.`status` = 'auth'

    LEFT JOIN cust_list AS klha 
        ON klha.buyerID  = klhs.userID
        AND klha.accountNo = klhs.accountNo
        WHERE v.iln = PARAMETER_2
        AND klhs.acccountNo IS NOT NULL

    ORDER BY klha.buyerID 
    LIMIT 1 
;

结束

左连接正在工作,因为我在另一个过程中使用它们来选择所有相关记录。问题在于我尝试选择上一条记录。

我传入了一个buyerID,需要取回上一条记录的id。

问题:
谁能指出正确的语法?

编辑:
如果我在 MySQL 中运行它,我会得到“0”作为结果集

谢谢!

解决方案
让它像这样工作:

# prev
SELECT klha.buyerID

    FROM agents AS v

    LEFT JOIN seller_authorized AS klhs 
        ON klhs.agent= v.agentID 
        AND klhs.iln = v.seller
        AND v.`status` = 'auth'

    LEFT JOIN cust_list AS klha 
        ON klha.buyerID  = klhs.userID
        AND klha.accountNo = klhs.accountNo
        WHERE v.iln = PARAMETER_2
        AND klhs.acccountNo IS NOT NULL
        AND klha.buyerID < PARAMETER_1

    ORDER BY klha.buyerID 
    LIMIT 1 
;

比想象的要容易 :-) 谢谢@Henrique Ordine

【问题讨论】:

  • 欢迎。我很高兴能帮上忙。

标签: mysql select left-join records


【解决方案1】:

如果我正确理解您的需求,将这个条件添加到您的 where 子句应该可以解决问题:

and klha.buyerID = (select max(buyerID) from agents where BuyerID

像这样:

SELECT klha.buyerID 

    FROM agents AS v

    LEFT JOIN seller_authorized AS klhs 
        ON klhs.agent= v.agentID 
        AND klhs.iln = v.seller
        AND v.`status` = 'auth'

    LEFT JOIN cust_list AS klha 
        ON klha.buyerID  = klhs.userID
        AND klha.accountNo = klhs.accountNo
    WHERE v.iln = PARAMETER_2
      AND klhs.acccountNo IS NOT NULL
      and klha.buyerID = (select max(buyerID) from agents 
                            where buyerID < PARAMETER_1)

    ORDER BY klha.buyerID 
    LIMIT 1 

【讨论】:

  • 啊好的。我不能只是 在我的初始选择中可以吗?
  • 对不起,我不明白你的问题。
  • 稍作调整。看上面。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-15
  • 1970-01-01
  • 2012-06-04
  • 2019-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多