MySQL 5.0.81에서 쿼리를 처리하려고하는데, 지불 된 금액이 아닌 인보이스로 인해 금액이 인출됩니다.MySQL 계정 고령화 보고서
CREATE TABLE `CLMS_invoices` (
`invoices_id` mediumint(8) NOT NULL auto_increment,
`invoices_client_id` mediumint(8) NOT NULL default '0',
`invoices_datetimestamp` varchar(50) collate latin1_german2_ci NOT NULL default '',
`invoices_description` varchar(100) collate latin1_german2_ci NOT NULL default '',
`invoices_discount` decimal(12,2) NOT NULL default '0.00',
`invoices_note` text collate latin1_german2_ci NOT NULL,
`invoices_status` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`invoices_id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=5 ;
CREATE TABLE `CLMS_invoices_payments` (
`invoices_payments_id` mediumint(8) NOT NULL auto_increment,
`invoices_payments_invoice_id` mediumint(8) NOT NULL default '0',
`invoices_payments_datetimestamp` varchar(50) collate latin1_german2_ci NOT NULL,
`invoices_payments_type` mediumint(8) NOT NULL default '0',
`invoices_payments_paid` decimal(12,2) NOT NULL default '0.00',
PRIMARY KEY (`invoices_payments_id`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=10 ;
CREATE TABLE `CLMS_invoices_products` (
`invoices_products_id` mediumint(8) NOT NULL auto_increment,
`invoices_products_invoice_id` mediumint(8) NOT NULL default '0',
`invoices_products_name` varchar(50) collate latin1_german2_ci NOT NULL default '',
`invoices_products_price` decimal(12,2) NOT NULL default '0.00',
`invoices_products_profit` decimal(12,2) NOT NULL default '0.00',
`invoices_products_qty` mediumint(8) NOT NULL default '0',
`invoices_products_shipping` decimal(12,2) NOT NULL default '0.00',
PRIMARY KEY (`invoices_products_id`)
) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=12 ;
나는 다음을 수행 할 쿼리를해야합니다 : CLIENT_ID (invoices_client_id)를 기반으로 풀 송장 지급되지 않습니다 (invoices_status = 0)
그래서 같이 세 개의 테이블이있다.
다음과 같이 노화가 있어야한다 : 최소 30 일 을 31-60일 61~90일
보다 큼 구십일 또한 가을 금액과 관련된 클라이언트 ID를 반환해야합니다노화 된 그룹으로 송장 할인 - - 송장 제품 원가 금액은 지금까지 유료
송장 제품 비용이
SUM ((invoices_products_price + 다음과 같이 계산됩니다
그룹의 달러 가치는 다음과 같이 계산한다 invoices_products_invoice_id = 가
을 invoices_id invoices_products_profit + invoices_products_shipping) * invoices_products_qty) 0
송장 할인 invoices_discount에 저장됩니다
지금까지 지불 금액 invoices_payments_invoice_id = 이에게 최종 결과가 보일 것이다 invoices_id
SUM (invoices_payments_paid)과 같이 계산된다
좋아요 :
client_id pastDue1 pastDue2 pastDue3 pastDue4 1 12.00 0.00 0.00 15.00 5 2.00 60.00 80.00 32.00 etc
누군가이 쿼리를 작성하도록 도와 줄 수 있습니까?
이 열 이름 지정 스타일은 나를 아프게합니다. – cherouvim
도와 드리겠습니다. 컨설팅 서비스에 대한 제안은 어디로 보내야합니까? – JohnFx
@cherouvim : 정규화 된 필드 이름을 가진 3 테이블 조인을 볼 때까지 기다려주십시오 ... – gahooa