SELECT DISTINCT monthly_returns.company_id
FROM monthly_returns LEFT JOIN paidreturns ON monthly_returns.company_id = paidreturns.company_id
WHERE NOT EXISTS (SELECT * FROM paidreturns WHERE paidreturns.company_id = monthly_returns.company_id
AND paidreturns.month = '$cdate' and paidreturns.paid = 1)
CREATE TABLE IF NOT EXISTS `paidreturns` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`paid` tinyint(1) NOT NULL,
`month` date NOT NULL,
`total` decimal(9,2) NOT NULL,
PRIMARY KEY (`id`)
)
CREATE TABLE IF NOT EXISTS `monthly_returns` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_id` int(11) NOT NULL,
`employee_id` int(11) NOT NULL,
`pay_week1` decimal(9,2) unsigned DEFAULT NULL,
`pay_week2` decimal(9,2) unsigned DEFAULT NULL,
`pay_week3` decimal(9,2) unsigned DEFAULT NULL,
`pay_week4` decimal(9,2) unsigned DEFAULT NULL,
`pay_week5` decimal(9,2) unsigned DEFAULT NULL,
`pay_weeks` int(1) unsigned DEFAULT NULL,
`month` date NOT NULL,
PRIMARY KEY (`id`)
我试图让尚未支付这个月的回报公司的名单。 我正在使用'NOT EXISTS'来达到这个目标,但是我仍然收到一家退货的公司,该公司已经为本月支付了回报。 任何帮助表示赞赏...
你的问题还是有点暧昧,并请提供什么VS你想要什么样的一些数据。此外,您每月返回的非规范化数据显示每个可能的每周最多5个月,可能会导致未来的问题。现在回到问题。您是否提供查询的“日期”,或者您是否希望CURRENT DATE的月份始终成为基础。 Per Soaica的回答是,如果该月不存在记录,则不要返回任何内容......不存在.. Monthly_Returns或PaidReturns? – DRapp 2012-03-31 02:47:50