从两个表创建摘要?

lhcgjxsq  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(273)

我有两个表,我正试图创建一个与每个人应付金额的总和,但没有创造性的id涉及摘要。

Table 1:
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `Name` varchar(255) NOT NULL,
  `Lname` varchar(255) NOT NULL,
  `phone` varchar(15) NOT NULL,
  `address` varchar(255) DEFAULT NULL,
  `city` varchar(255) NOT NULL,
  `state` char(2) NOT NULL,
  `zip` varchar(50) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `business_name varchar(255) DEFAULT NULL,

Second table:
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `C_ID` INT(10) UNSIGNED NOT NULL,
    `Amount_Due` DECIMAL(7 , 2 ) not null DEFAULT 0,
    `created_date` DATETIME NOT NULL,
    `closed_date` DATETIME default NULL,
    PRIMARY KEY (`id`)
)  ENGINE=INNODB DEFAULT CHARSET=LATIN1;

我想做的是:
我想把日期定在2018年5月1日和2018年6月15日之间。
有每个人的到期金额
有以下别名:公司名称,电话号码,发票金额
我正在尝试测试我的代码,但出现了错误:

SELECT Name,phone,SUM(Amount_Due) FROM test_customer,test_invoices 
WHERE created_date BETWEEN '2018-05-01' AND  "2018-06-15'
bis0qfac

bis0qfac1#

如果我理解正确,你需要使用 JOIN 而不是 , ( CROSS JOIN )以及 GROUP BY 在非聚合函数列中。

SELECT Name 'Customer Name',
      phone 'Phone number',
      SUM(i.Amount_Due) 'Amount due'
FROM test_customer c 
INNER JOIN test_invoices i ON C.id = i.C_ID
GROUP BY Name,phone

sqlfiddle公司

相关问题