ORDER BY EmployeeNo AND SaleNo;
Вышеприведенное становится следующим:
ORDER BY (EmployeeNo AND SaleNo)
И затем становится:
ORDER BY (true/false AND true/false)
И затем
ORDER BY (true/false)
Таким образом, выражение преобразуется в выражение true / false.
Если 2 столбца являются числовыми типами, то 0 значений = false, а любое NON нулевое значение = true
, поэтому у вас есть
ORDER BY ( (EmployeeNo <> 0) AND (SaleNo <> 0) )
Итак, если оба значения EmplyeeNo и SaleNo имеют значение?
Вы получаете это
ORDER BY ( (true) AND (True))
ORDER BY True
Значение равно -1.
Что это означает, что если оба значения имеют число (не 0), затем они появятся первыми в списке, и последуют все остальные, если одно из двух чисел равно 0 или оба равны 0.
Итак, для упорядочения по столбцу и затем, используя анохтер, вы используете
col1, col2 - as you have.
, если вы go
col1 AND col2
Тогда это логическое (true / false) выражение, а не порядок на один столбец , а затем перейти к следующему.