mysql - 如何在其他查询MySQL中使用select子查询

标签 mysql

我正在编写一个 mysql select 子查询,它工作正常,它返回 2 列,可以只选择 1 列。 我的查询是

SELECT sum(fl.qunt) as qunt,(
    SELECT GROUP_CONCAT( xp.id
    SEPARATOR  ',' ) 
    FROM prdt AS xp
    LEFT JOIN prdt_fac AS pf ON pf.fk_product_children = xp.rowid
    WHERE pf.prdt_fat = p.id
    AND pf.prdt_ch = 6953
    GROUP BY pf.prdt_fat
    LIMIT 0 , 1
    ) AS prdt_chd
    FROM fac_log AS fl
    LEFT JOIN fac AS f ON fl.fac = f.id
    LEFT JOIN prdt AS p ON f.prdt = p.id
    GROUP BY prod_child
    ORDER BY fl.tms DESC 
    LIMIT 0 , 1 

这将返回两列 qunt 和 prdt_ch。 但我只想要结果 qunt 中的列。 有什么办法,因为必须使用内部选择查询才能获得正确的结果。 此查询的主要目的是我必须将此查询用作其他查询中的子查询,在这种情况下它会抛出错误“操作数应包含 1 列” 提前致谢

最佳答案

只需使用您的选择查询作为表来选择 qunt (t)

  select qunt from ( 
        SELECT sum(fl.qunt) as qunt,(
            SELECT GROUP_CONCAT( xp.id
            SEPARATOR  ',' ) 
            FROM prdt AS xp
            LEFT JOIN prdt_fac AS pf ON pf.fk_product_children = xp.rowid
            WHERE pf.prdt_fat = p.id
            AND pf.prdt_ch = 6953
            GROUP BY pf.prdt_fat
            LIMIT 0 , 1
            ) AS prdt_chd
            FROM fac_log AS fl
            LEFT JOIN fac AS f ON fl.fac = f.id
            LEFT JOIN prdt AS p ON f.prdt = p.id
            GROUP BY prod_child
            ORDER BY fl.tms DESC  
      LIMIT 0 , 1 ) t 

关于mysql - 如何在其他查询MySQL中使用select子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43102044/

相关文章:

mysql - 在 64 位 ruby​​ 和 64 位 Windows 上安装 ruby​​ on Rails 的 mysql2 扩展

mysql - 根据另一个表中的条件组合识别行是否有效

php - 如何在php中多次获取数据

Mysql 命令行显示使用 --password 时拒绝访问 @'172.X',但交互时则不然

使用 mysql 1.0.5 的 c++ 堆错误

Mysql修剪将字段的开头修剪到指定的字符串

php - 无法上传 csv 文件并出现错误 C :\xampp\tmp\php9F4F. tmp

PHP: mysql 查询 "WHERE first 3 (or 4,5,6 depending on length of string) characters = ' $string'"

PHP/MySQL-存储到MySQL表时代码被截断

mysql - 如何跨组过滤表格及其内容