Chcesz sortować puste jednostki i puste miejsca i przeczytać wszystkie rozwiązania, które używają funkcji Coalesce lub If w porządku według kolumny.Sortowanie wartości Null ostatnie
MOJE problemy nie dotyczą tych zadań, ponieważ kolumna, którą sortuję jest określana dynamicznie przez skrypt PHP, który tworzy zapytanie, a niektóre z moich kolumn znajdują się w dwóch tabelach w moim sprzężeniu.
$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";
to działa świetnie, mogę zmienić zmiennej $ sortcol i moja aukcja wyjście działa świetnie z wyjątkiem wartości null i wykroje są na górze.
podstawie innych księgowań Próbowałem to
$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";
ta zgłasza błąd „kolumny łodzi w klauzuli ORDER BY jest niejednoznaczne”. Oczywiście, że chce b.boat w kolejności, ale z powodów, do których nie wejdę, jest problematyczne. Wygląda na to, że w każdej chwili próbuję użyć funkcji w klauzuli orderby Nie mogę użyć aliasu kolumny.
Jakieś pomysły na eleganckie rozwiązanie tego?
Ciekawe mówisz, że jeśli używam b.boat jak boatname zamiast b.boat jako łódź będzie działać ??? – davewhirlwind
Tak, dokładnie. O ile nie masz innego pola o nazwie 'boatname' :-) – LSerni
To działało dzięki. – davewhirlwind