結合したい3つのテーブルがありますが、2つのテーブルは完全に機能しており、3番目のテーブルを追加すると、3番目のテーブルにあるレコードのみが表示されます
Select `0_debtor_trans_details`.debtor_trans_no As Bill_no,
`0_debtor_trans_details`.stock_id As Item,
`0_debtor_trans_details`.unit_price As Unit_price,
`0_debtor_trans_details`.quantity As Qty,
`0_debtor_trans_details`.description,
`0_debtor_trans`.debtor_no As Reg_no,
`0_debtor_trans`.type As type,
`0_debtor_trans`.ov_amount As Total_Amount,
`0_debtor_trans`.tran_date As Tran_Date,
`0_comments`.memo_
From `0_debtor_trans_details`
Inner Join `0_debtor_trans` On `0_debtor_trans_details`.debtor_trans_no =
`0_debtor_trans`.trans_no
Left Join `0_comments` On `0_debtor_trans`.trans_no = `0_comments`.id
Where `0_debtor_trans`.type = 10 And `0_comments`.type = 10
Group By `0_debtor_trans_details`.debtor_trans_no,
`0_debtor_trans_details`.stock_id,
`0_debtor_trans_details`.unit_price,
`0_debtor_trans_details`.quantity,
`0_debtor_trans_details`.description,
`0_debtor_trans`.debtor_no,
`0_debtor_trans`.type,
`0_debtor_trans`.ov_amount,
`0_debtor_trans`.tran_date,
`0_comments`.memo_
Having `0_debtor_trans_details`.description = 'Fine'
0_comments を追加すると、0_comments にあるレコードのみが表示されます。
CREATE TABLE IF NOT EXISTS `0_comments` (
`type` int(11) NOT NULL DEFAULT '0',
`id` int(11) NOT NULL DEFAULT '0',
`date_` date DEFAULT '0000-00-00',
`memo_` tinytext,
KEY `type_and_id` (`type`,`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `0_debtor_trans` (
`trans_no` int(11) unsigned NOT NULL DEFAULT '0',
`type` smallint(6) unsigned NOT NULL DEFAULT '0',
`version` tinyint(1) unsigned NOT NULL DEFAULT '0',
`debtor_no` int(11) unsigned DEFAULT NULL,
`branch_code` int(11) NOT NULL DEFAULT '-1',
`tran_date` date NOT NULL DEFAULT '0000-00-00',
`due_date` date NOT NULL DEFAULT '0000-00-00',
`reference` varchar(60) NOT NULL DEFAULT '',
`tpe` int(11) NOT NULL DEFAULT '0',
`order_` int(11) NOT NULL DEFAULT '0',
`ov_amount` double NOT NULL DEFAULT '0',
`ov_gst` double NOT NULL DEFAULT '0',
`ov_freight` double NOT NULL DEFAULT '0',
`ov_freight_tax` double NOT NULL DEFAULT '0',
`ov_discount` double NOT NULL DEFAULT '0',
`alloc` double NOT NULL DEFAULT '0',
`rate` double NOT NULL DEFAULT '1',
`ship_via` int(11) DEFAULT NULL,
`dimension_id` int(11) NOT NULL DEFAULT '0',
`dimension2_id` int(11) NOT NULL DEFAULT '0',
`payment_terms` int(11) DEFAULT NULL,
`Datetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`deposit` varchar(30) NOT NULL DEFAULT 'Deposit',
`payment` varchar(30) NOT NULL DEFAULT 'Payment',
`Date` date NOT NULL DEFAULT '0000-00-00',
PRIMARY KEY (`type`,`trans_no`),
KEY `debtor_no` (`debtor_no`,`branch_code`),
KEY `tran_date` (`tran_date`),
KEY `ov_amount` (`ov_amount`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `0_debtor_trans_details` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`debtor_trans_no` int(11) DEFAULT NULL,
`debtor_trans_type` int(11) DEFAULT NULL,
`stock_id` varchar(20) NOT NULL DEFAULT '',
`description` tinytext,
`unit_price` double NOT NULL DEFAULT '0',
`unit_tax` double NOT NULL DEFAULT '0',
`quantity` double NOT NULL DEFAULT '0',
`discount_percent` double NOT NULL DEFAULT '0',
`standard_cost` double NOT NULL DEFAULT '0',
`qty_done` double NOT NULL DEFAULT '0',
`src_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `Transaction` (`debtor_trans_type`,`debtor_trans_no`),
KEY `src_id` (`src_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=12523 ;