› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
ashamp
V2EX  ›  MySQL

求助一个 mysql 的查询语句!

  •  
  •   ashamp · Nov 13, 2014 · 3630 views
    This topic created in 4334 days ago, the information mentioned may be changed or developed.
    求助一个mysql语句,一张表有一个应有数量shoudamount的字段和序列号signnum,另一张表有实际使用此序列号的n个记录,如何同时获得应有数量和实际数量呢?
    第二张表的字段有id,signnum,和其他字段
    如何获得如下结构的数据呢?
    signnum,shoudamount,realamount

    目前我知道的信息:
    获取所有signnum

    SELECT signnum,shoudamount FROM table1;

    根据signnum从table2获取数量

    SELECT COUNT(signnum) FROM (SELECT signnum from table2 WHERE signnum='f912ef4a777d0951e5bb099fd95cd9e3bf338ebe')a

    但怎样将两者结合起来呢?!
    7 replies  •  2014-11-13 11:44:42 +08:00
    yangqi
        1
    yangqi  
       Nov 13, 2014   ❤️ 1
    SELECT a.shoudamount, count(b.signnum) as realamount FROM table1 a
    LEFT JOIN table2 b ON a.signnum=b.signnum
    GROUP BY a.signnum

    大概应该是这个样子的
    ashamp
        2
    ashamp  
    OP
       Nov 13, 2014
    @yangqi
    感谢大神!按照你说的,完美查到想要的数据,但是,数据只有两列:应有和实际数量,缺少序列号那一列,没这一列数据没意义呀
    ashamp
        3
    ashamp  
    OP
       Nov 13, 2014
    @yangqi
    谢谢!我知道怎么做了!自己太笨了,刚反应过来
    ashamp
        4
    ashamp  
    OP
       Nov 13, 2014
    原来a就是table1的代名
    ashamp
        5
    ashamp  
    OP
       Nov 13, 2014
    @yangqi 再请教一下,自己目前会一些简单的select之类,像这种技巧的知识在哪里能获取到呢?有什么推荐的博客或书籍!谢谢!
    jtn007
        6
    jtn007  
       Nov 13, 2014   ❤️ 1
    ashamp
        7
    ashamp  
    OP
       Nov 13, 2014
    @jtn007 谢谢!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2364 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:47 · PVG 18:47 · LAX 03:47 · JFK 06:47
    ♥ Do have faith in what you're doing.