问题:商品表和客户常用商品表,客户查询商品列表时需要把当前客户的常用商品优先显示在前面,并且常用商品还要按照使用频次排序

SQL:当前用的是SQLserver数据库,其他数据库原理一样的

SELECT
    [g].[SPBM],
    [g].[SPMC],
    [cg].[sales_num],
    [cg].[dwbm]
FROM
    [spbm] [g]
LEFT JOIN (
    SELECT
        *
    FROM
        Client_oftenSpbm
    WHERE
        dwbm = '0406'
) [cg] ON [cg].[spbm] = [g].[SPBM] 
ORDER BY sales_num desc 

后台框架是TP5.1,也可以写成这样:

GoodModel::alias('g')->where($where)->leftJoin("(SELECT * FROM Client_oftenSpbm WHERE dwbm = '".$dwbm."') cg",'cg.spbm=g.SPBM')->field('g.*,cg.sales_num')->page($page,$limit)->order('sales_num desc')->select();