Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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
如果(insertorder=';first#u name';,concat(A.first#u name,';&#A';,A.last#u name),';,排序在MYSQL中不起作用,_Mysql_Dynamic - Fatal编程技术网

如果(insertorder=';first#u name';,concat(A.first#u name,';&#A';,A.last#u name),';,排序在MYSQL中不起作用,

如果(insertorder=';first#u name';,concat(A.first#u name,';&#A';,A.last#u name),';,排序在MYSQL中不起作用,,mysql,dynamic,Mysql,Dynamic,我对动态sql非常陌生,并且继承了一个我似乎无法理解的项目 排序在这个项目中从来没有正常工作过,我试图在保持sql和存储过程动态的同时解决这个问题 下面这一行基本上就是问题所在。如果insertorder变量是'first_name',那么sql应该先按first_name排序,然后按last name排序 问题是,我需要根据传递的另一个变量按ASC或DESC排序 我不知道A在做什么,也无法在互联网上找到有关它的信息。我尝试添加另一个“DESC”或“ASC”,但总是被忽略 不管发生什么,它总是会

我对动态sql非常陌生,并且继承了一个我似乎无法理解的项目

排序在这个项目中从来没有正常工作过,我试图在保持sql和存储过程动态的同时解决这个问题

下面这一行基本上就是问题所在。如果insertorder变量是'first_name',那么sql应该先按first_name排序,然后按last name排序

问题是,我需要根据传递的另一个变量按ASC或DESC排序

我不知道A在做什么,也无法在互联网上找到有关它的信息。我尝试添加另一个“DESC”或“ASC”,但总是被忽略

不管发生什么,它总是会回来。有人知道如何解决这个问题,并且仍然按多个字段排序吗?A是做什么的

编辑: 整个存储过程的长度超过100行,但这里是有问题的查询。我知道剩下的都能用。只是排序有问题。具体来说,试图找出“A”的作用。(A在下划线之间)

假设变量inOrder作为“first_name”放入存储过程中。基本上是想弄清楚如何编辑最后一行,根据另一个变量按DESC或ASC排序

挑选 你的名字

N.middle_name

    N.last_name
  FROM
      student S left JOIN
      names N on S.id = N.student_id
  WHERE
    N.record_status = 'FAILED'
订购人
如果(按顺序排列,='first\u name',concat(N.first\u name,'A',N.last\u name),'',

我已经解决了这个问题。像往常一样,当我不熟悉代码时,我只需要花更多的时间来查看它。不熟悉动态sql,但我喜欢到目前为止看到的内容

是这样做的 变量是 inSortOrder='姓氏' inSortType='DESC'

    if(inOrder='last_name' and inType<>'DESC',concat(N.last_name,'_A_',N.first_name,'_A_',N.middle_name),''),
    if(inOrder='last_name' and inType='DESC',concat(N.last_name,'_A_',N.first_name,'_A_',N.middle_name),'') DESC,
if(顺序为'last'u name'和输入'DESC',concat(N.last'u name、'u A'u',N.first'u name、'u A'u',N.middle'u name),',
如果(顺序为“姓氏”和inType='DESC',concat(N.姓氏、'''''''A''N.第一名、''u A''N.中间名),'')描述,

您需要发布更多的代码才能获得良好的响应。您尝试过什么?请发布您的整个查询(表结构、示例数据和期望的结果会更好)。很难理解你用上面的if语句问什么。哪个
A
做什么?
A.first\u name
中的
A.
,或
first\u name
last\u name
之间的
字符串,以及下划线之间的A字符串。上面的A不是下划线,而是斜体。
    if(inOrder='last_name' and inType<>'DESC',concat(N.last_name,'_A_',N.first_name,'_A_',N.middle_name),''),
    if(inOrder='last_name' and inType='DESC',concat(N.last_name,'_A_',N.first_name,'_A_',N.middle_name),'') DESC,