想要最后对 Nulls 和 Blanks 进行排序,并且已经阅读了所有使用 Coalesce 函数或 If 按列排序的解决方案。
我的问题对我来说不是这些工作,因为我正在排序的列是由创建查询的 PHP 脚本动态指定的,并且我的一些列在我的联接中的两个表中。
$sortcol="boat";
$sql= "SELECT fleet,b.boat as boat,owner FROM boats as b
LEFT JOIN owners as o ON b.boat=o.boat
ORDER BY $sortcol";
这很好用,我可以更改变量 $sortcol 并且我的输出列表很好用,除了顶部的空值和空白。
根据其他帖子我试过这个
$sortcol="boat";
$sql= "SELECT fleet,b.boat as boat,owner FROM boats as b
LEFT JOIN owners as o ON b.boat=o.boat
ORDER BY IF($sortcol is NULL,1,0), $sortcol";
这会引发错误“ORDER BY 子句中的列船不明确”。显然它希望 b.boat 按顺序排列,但由于我不会涉及的原因,这是有问题的。看来,每当我尝试在 orderby 子句中使用函数时,我都无法使用列别名。
有什么想法可以优雅地解决这个问题吗?