【发布时间】:2013-12-06 14:55:46
【问题描述】:
也许标题有点混乱,所以这是我要开始工作的查询:
select sum(amount+discount) from `payments` where `id_invoice` in (select `id` from `invoices` where `id_client`='$id'
其中$id 是clients 表中客户端的id
这里有 3 个表结构:
CREATE TABLE IF NOT EXISTS `clients` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`address` text NOT NULL,
`phone` varchar(255) NOT NULL,
`fax` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`company` varchar(255) NOT NULL,
`mobile` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE IF NOT EXISTS `invoices` (
`id` int(11) NOT NULL,
`id_client` int(11) NOT NULL,
`invoice_number` int(11) NOT NULL,
`date_created` int(11) NOT NULL,
`po_number` varchar(255) NOT NULL,
`terms` text NOT NULL,
`notes` text NOT NULL,
`status` varchar(255) NOT NULL DEFAULT 'Draft',
`date_saved` int(11) NOT NULL,
`total` varchar(255) NOT NULL,
`issue_date` int(11) NOT NULL,
`due_date` int(11) NOT NULL,
`cancelled` varchar(255) NOT NULL DEFAULT 'no',
`tax_percentage` varchar(255) NOT NULL DEFAULT '20',
PRIMARY KEY (`id`)
);
CREATE TABLE IF NOT EXISTS `payments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_invoice` int(11) NOT NULL,
`the_date` int(11) NOT NULL,
`method` varchar(255) NOT NULL,
`amount` varchar(255) NOT NULL,
`receipt_no` int(11) NOT NULL,
`discount` varchar(255) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
);
所以我想获得每个客户的总付款+折扣...
任何帮助将不胜感激。
【问题讨论】:
-
当前查询遇到的问题是什么?
-
我在当前查询中看到的唯一问题是缺少右括号,我认为这只是一个复制错误。
-
哈哈哈右括号是问题所在。我是菜鸟。
-
这个问题似乎跑题了,因为它是关于语法错误的。