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