I am trying to return donor info by donor name with a list of his/her gifts of goods or cash. The four tables are the donor info, gifts, receipts and events. The event id number will be a post entry from a select form. The query I have only returns two rows.
SELECT
CONCAT(donor_info.lastname,', ',donor_info.firstname) AS fullname
, donor_info.d_id AS donorid
, donor_info.emailp AS email
, donor_gifts.d_id AS donorgiftid
, donor_gifts.gift_id AS giftid
, donor_gifts.date AS gift_date
, donor_gifts.goods AS gifts
, donor_receipts.d_id AS donorrecid
, donor_receipts.rec_id AS rec_id
, donor_receipts.date AS receipts_date
, donor_receipts.amt AS amount
, donor_events.ev_name AS event
FROM donor_info,donor_events
INNER JOIN donor_gifts ON `donor_info`.`d_id`=`donor_gifts`.`d_id`
INNER JOIN donor_receipts ON `donor_info`.`d_id`=`donor_receipts`.`d_id`
WHERE `donor_events`.`ev_id`=`donor_receipts`.`ev_id`
AND `donor_events`.`ev_id`=`donor_gifts`.`ev_id`
AND `donor_events`.`ev_id`=7
ORDER BY fullname,gift_id,rec_id
CREATE TABLE `donor_info` (
`d_id` int(10) NOT NULL auto_increment,
`active` varchar(10) NOT NULL default '',
`lastname` varchar(50) NOT NULL default '',
`firstname` varchar(50) NOT NULL default '',
`suffix` varchar(50) default NULL,
`spouse` varchar(30) default NULL,
`streeth` varchar(60) default NULL,
`cityh` varchar(50) default NULL,
`stateh` varchar(10) default NULL,
`ziph` varchar(20) default NULL,
`employerp` varchar(50) default NULL,
`streetp` varchar(60) default NULL,
`cityp` varchar(50) default NULL,
`statep` varchar(10) default NULL,
`zipp` varchar(20) default NULL,
`employers` varchar(50) default NULL,
`streets` varchar(60) default NULL,
`citys` varchar(50) default NULL,
`states` varchar(10) default NULL,
`zips` varchar(20) default NULL,
`homephone` varchar(20) default NULL,
`cellphp` varchar(20) default NULL,
`cellphs` varchar(20) default NULL,
`title` varchar(20) default NULL,
`emailp` varchar(50) default NULL,
`emails` varchar(50) default NULL,
`alumnip` varchar(50) default NULL,
`alumnis` varchar(50) default NULL,
`positionp` varchar(50) default NULL,
`workphonep` varchar(20) default NULL,
`faxp` varchar(20) default NULL,
`positions` varchar(50) default NULL,
`workphones` varchar(20) default NULL,
`faxs` varchar(20) default NULL,
`relationship` varchar(50) default NULL,
`socialsite` varchar(50) default NULL,
PRIMARY KEY (`d_id`),
KEY `active` (`active`,`lastname`,`ziph`,`employerp`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=405 ;
CREATE TABLE `donor_gifts` (
`gift_id` int(10) NOT NULL auto_increment,
`d_id` int(10) NOT NULL default '0',
`ev_id` int(10) NOT NULL default '0',
`date` date default NULL,
`goods` varchar(200) default NULL,
`gift_value` double default NULL,
`services` varchar(200) default NULL,
`service_value` varchar(100) default NULL,
PRIMARY KEY (`gift_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=45 ;
CREATE TABLE `donor_receipts` (
`rec_id` int(10) NOT NULL auto_increment,
`ev_id` int(10) NOT NULL default '0',
`d_id` int(10) NOT NULL default '0',
`date` date NOT NULL default '0000-00-00',
`amt` decimal(10,2) NOT NULL default '0.00',
`type` varchar(10) NOT NULL default '',
PRIMARY KEY (`rec_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=597 ;
CREATE TABLE `donor_events` (
`ev_id` int(10) NOT NULL auto_increment,
`ev_name` varchar(50) NOT NULL default '',
PRIMARY KEY (`ev_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
Would appreciate your help.
Andy