Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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
Mysql 使用sql获取以前的日期_Mysql_Sql_Gridview - Fatal编程技术网

Mysql 使用sql获取以前的日期

Mysql 使用sql获取以前的日期,mysql,sql,gridview,Mysql,Sql,Gridview,我的问题是 SELECT matno, MAT_NAME, MAX(SWITCH(deldate=? ,ORDCASES )) AS [1/1/2014], MAX(SWITCH(deldate=DateAdd("d", -1, ?),ORDCASES)) AS [previous_day] FROM invorder WHERE (invorder.strno =54009) OR ([invorder.deldate] IS NULL) GROUP B

我的问题是

SELECT 
    matno,
    MAT_NAME,
    MAX(SWITCH(deldate=? ,ORDCASES )) AS [1/1/2014],
    MAX(SWITCH(deldate=DateAdd("d", -1, ?),ORDCASES)) AS [previous_day] 
FROM invorder 
WHERE (invorder.strno =54009) OR ([invorder.deldate] IS NULL) 
GROUP BY  matno,MAT_NAME;

在这里,我可以只检查所选日期之前的一个日期,但如果它们没有上一个日期的记录,我应该将日期再减少一天,并进行检查,直到找到记录为止。有人能帮助我如何减少并找到上一个日期吗?

在不了解确切情况的情况下,我建议采用如下方法:

SELECT MAX(date) 
FROM myTable
WHERE date < '2014-01-01' --> Replace this as needed

这将根据
strno
54009的
date
选择最大记录,它是
matno
matu NAME
date
。该行以相同的
matno
strno
的最大日期扩展,不包括我们已经选择的日期(几乎是第二个最大日期)。

我不需要所有日期,我只需要显示我以前的日期数据。我希望以前的日期显示在列标题“previous\u date”下@user3202126我扩展了我的答案;)感谢您的努力,我尝试了上面的查询,但我面临下面的错误。FROM子句中的语法错误。描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的详细信息以及错误在代码中的起源。您的问题已标记,但语法看起来像T-SQL。您正在使用哪些RDBMS?
SELECT   invorder.matno,
         invorder.MAT_NAME,
         MAX(invorder.date) AS this_record_date,
         MAX(previous.date) AS prev_record_date
FROM     invorder 
JOIN     invorder AS previous 
                  ON invorder.matno = previous.matno 
                  AND invorder.strno = previous.strno 
                  AND invorder.date > previous.date
WHERE    invorder.strno =54009
GROUP BY invorder.matno, 
         invorder.MAT_NAME