多くの可能な解決策を見つけて、ここにまとめました: https://drupal.org/node/2133879
ただし、これは私がお勧めする簡単な解決策です。
カスタム モジュールでは、hook_views_query_alter() 関数を使用してソート基準を変更し、CASE ... WHEN を使用して orderby 条件に条件を追加します。良い例を次に示します。
<?php
/**
* Implementation of hook_views_query_alter().
*/
function MYMODULE_views_query_alter(&$view, &$query) {
if ($view->name == 'view_name') {
// Completely replace current orderby
$query->orderby = array(" CASE
WHEN node_data_field_dates_field_dates_value THEN node_data_field_dates_field_dates_value
WHEN node_data_field_event_dates_field_event_dates_value THEN node_data_field_event_dates_field_event_dates_value
END ASC ");
}
}
?>
ソース例: https://drupal.org/comment/6323288#comment-6323288