Я хочу упорядочить записи в таблице по разнице во времени (поэтому end_g - start_g).Тем не менее, существует вероятность того, что нет конечного времени (все еще продолжается).Ниже приведен код, который я попытался вставить с условным условием;если есть конец, тогда возьмите разницу между временем начала и окончания, иначе возьмите разницу от currtime () и времени начала.Из этого я хочу выбрать имя из «Artist», которое имеет наибольшее время после сортировки.
SELECT * FROM artists WHERE name = (SELECT group FROM members WHERE end IS NOT NULL ORDER BY DATEDIFF (millisecond, end_g, start_g) OR end IS NULL ORDER BY DATEDIFF(millisecond, GETDATE(), start_g) AND ROWNUM = 1);
В настоящее время ошибка говорит, что у меня несбалансированные скобки, но я подозреваю, что это что-то из-закак я строю это первое утверждение SELECT.Есть предложения?