Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在cron作业中运行复杂的mysql查询?_Mysql_Cron - Fatal编程技术网

如何在cron作业中运行复杂的mysql查询?

如何在cron作业中运行复杂的mysql查询?,mysql,cron,Mysql,Cron,我只想在早上、debian、mysql服务器上运行这个查询 SET @FromDate='2014-01-01' , @ToDate='2014-05-01'; SELECT a.PatNum, inssub.SubscriberID, p.BirthDate, DATE(a.AptDateTime)AS 'DateApt' /* ,Date_Format(a.AptDateTime,'%H:%m') AS 'TimeApt'*/ /*,a.ProcDescript*/, SUM(pl.Pr

我只想在早上、debian、mysql服务器上运行这个查询

SET @FromDate='2014-01-01' , @ToDate='2014-05-01';
SELECT a.PatNum, inssub.SubscriberID, p.BirthDate, DATE(a.AptDateTime)AS  
'DateApt' /* ,Date_Format(a.AptDateTime,'%H:%m') AS 'TimeApt'*/
/*,a.ProcDescript*/, SUM(pl.ProcFee) AS $TotFee/*,b.TimePeriod,      
b.MonetaryAmt AS $AnnualMax, ip.monthrenew*/
,ca.Phone AS 'CarrierPh', IFNULL(ca.CarrierName, 'X - No Insurance') AS  
Carrier,
(CASE WHEN b.TimePeriod=1 AND ip.MonthRenew<=MONTH(CURDATE()) AND  
IFNULL(ip.MonthRenew,0)>0 THEN STR_TO_DATE(CONCAT(YEAR(CURDATE()),  
'-',ip.MonthRenew,'-01'),'%Y-%m-%d')
WHEN b.TimePeriod=1 AND ip.MonthRenew>MONTH(CURDATE()) AND  \  
IFNULL(ip.MonthRenew,13)<13 THEN STR_TO_DATE(CONCAT(YEAR(CURDATE())-1,  
'-',ip.MonthRenew,'-01'),'%Y-%m-%d')
WHEN b.TimePeriod=2 THEN STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-01-01'),'
%Y-%m-%d')
WHEN NOT ISNULL(ca.CarrierName) THEN STR_TO_DATE(CONCAT(YEAR(CURDATE()),  
'-01-01'),'%Y-%m-%d') END) AS DateRenew/*when coverage starts*/
,b.MonetaryAmt/*AnnualMax*/-(SELECT SUM(IFNULL(claimproc.InsPayAmt,0))
FROM claimproc
WHERE claimproc.Status IN (1, 3, 4)
AND claimproc.PatNum=p.PatNum
AND claimproc.PlanNum=inssub.PlanNum
AND DATE(claimproc.ProcDate) BETWEEN DateRenew AND CURDATE())/*AmtUsed*/ 
AS $InsLeft
/*,(SELECT SUM(IFNULL(claimproc.InsPayAmt,0))
FROM claimproc
WHERE claimproc.Status IN (1, 3, 4)
AND claimproc.PatNum=p.PatNum
AND claimproc.PlanNum=inssub.PlanNum
AND DATE(claimproc.ProcDate) BETWEEN DateStart AND CURDATE()) AS    
$AmtUsed*/
FROM patient p
INNER JOIN appointment a ON a.PatNum=p.PatNum AND  
a.AptStatus=1
LEFT JOIN patplan pp ON p.PatNum=pp.PatNum
LEFT JOIN inssub ON inssub.InsSubNum=pp.InsSubNum
LEFT JOIN insplan ip ON ip.PlanNum=inssub.PlanNum
LEFT JOIN carrier ca ON ip.CarrierNum=ca.CarrierNum
LEFT JOIN procedurelog pl ON pl.AptNum=a.AptNum
LEFT JOIN benefit b ON b.PlanNum=inssub.PlanNum AND b.BenefitType=5 
AND b.TimePeriod IN(1,2)
LEFT JOIN covcat c ON b.CovCatNum=c.CovCatNum AND c.EbenefitCat=1  
WHERE (DATE(a.AptDateTime) BETWEEN @FromDate AND @ToDate)
GROUP BY a.AptNum, inssub.PlanNum
ORDER BY Carrier, p.LName,p.FName;
SET@FromDate='2014-01-01',@ToDate='2014-05-01';
选择a.PatNum、inssub.SubscriberID、p.BirthDate、DATE(a.AptDateTime)作为
“DateApt”/*,日期格式(a.AptDateTime,%H:%m)为“TimeApt”*/
/*,a.procscript*/,总和(pl.ProcFee)为$TotFee/*,b.TimePeriod,
b、 货币单位为每年美元,ip.monthrenew*/
,ca.Phone为'CarrierPh',IFNULL(ca.CarrierName,'X-无保险')为
载体
(如果b.TimePeriod=1,ip.MonthRenew0,则STR_TO_DATE(CONCAT(YEAR)(CURDATE()),
“-”,ip.MonthRenew“-01”),“%Y-%m-%d”)
当b.TimePeriod=1且ip.MonthRenew>MONTH(CURDATE())和

IFNULL(ip.MonthRenew,13)crontab中的普通mysql-uuser-hhost-ppassword-e“queryhere”应该可以帮您完成