如果(insertorder=';first#u name';,concat(A.first#u name,';A';,A.last#u name),';,排序在MYSQL中不起作用,
我对动态sql非常陌生,并且继承了一个我似乎无法理解的项目 排序在这个项目中从来没有正常工作过,我试图在保持sql和存储过程动态的同时解决这个问题 下面这一行基本上就是问题所在。如果insertorder变量是'first_name',那么sql应该先按first_name排序,然后按last name排序 问题是,我需要根据传递的另一个变量按ASC或DESC排序 我不知道A在做什么,也无法在互联网上找到有关它的信息。我尝试添加另一个“DESC”或“ASC”,但总是被忽略 不管发生什么,它总是会回来。有人知道如何解决这个问题,并且仍然按多个字段排序吗?A是做什么的 编辑: 整个存储过程的长度超过100行,但这里是有问题的查询。我知道剩下的都能用。只是排序有问题。具体来说,试图找出“A”的作用。(A在下划线之间) 假设变量inOrder作为“first_name”放入存储过程中。基本上是想弄清楚如何编辑最后一行,根据另一个变量按DESC或ASC排序 挑选 你的名字如果(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”,但总是被忽略 不管发生什么,它总是会
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,