Использовать подзапрос ...
SELECT
trip_no,
MAX(check_call_id) AS check_call_id
FROM
(
SELECT
T.a.value('@trp[1]' , 'CHAR(6)') AS trip_no,
T.a.value('@ccid[1]', 'INT' ) AS check_call_id
FROM
@recordXml.nodes('/root/que')T(a)
WHERE
LEN(T.a.value('@trp[1]','CHAR(6)')) = 6
AND ISNUMERIC(T.a.value('@trp[1]','CHAR(6)')) = 1
AND CONVERT(INT, T.a.value('@trp[1]','CHAR(6)')) > 0
)
AS parsed_xml
GROUP BY
trip_no
Обратите внимание на функцию shouldAutorotateToInterfaceOrientation: в классе UIViewController. Эта функция возвращает YES, если ориентации поддерживаются вашим UIView. Если вы вернете ДА только в альбомную ориентацию, iPhone автоматически перейдет в эту ориентацию.
Следующий код должен это сделать. Поместите его в UIViewController, который управляет представлением, которое вы хотите поместить в альбомный режим.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationLandscape);
}
Вот то, что я делаю, чтобы сделать это:
во-первых, поместите, это определяет наверху Вашего файла, прямо под Вашим #imports:
#define degreesToRadian(x) (M_PI * (x) / 180.0)
затем, в viewWillAppear: метод
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];
if (self.interfaceOrientation == UIInterfaceOrientationPortrait) {
self.view.transform = CGAffineTransformIdentity;
self.view.transform = CGAffineTransformMakeRotation(degreesToRadian(90));
self.view.bounds = CGRectMake(0.0, 0.0, 480, 320);
}
если Вы хотите, чтобы это было анимировано, то можно перенести все это в блок анимации, как так:
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:1.25];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];
if (self.interfaceOrientation == UIInterfaceOrientationPortrait) {
self.view.transform = CGAffineTransformIdentity;
self.view.transform = CGAffineTransformMakeRotation(degreesToRadian(90));
self.view.bounds = CGRectMake(0.0, 0.0, 480, 320);
}
[UIView commitAnimations];
Затем в Вашем контроллере режима портрета можно сделать реверс - проверка, чтобы видеть, если в настоящее время в среде, и если так, поверните его назад к Портрету.
Чтобы заставить это работать, я добавил это к rootviewcontroller:
- (void)viewWillAppear:(BOOL)animated {
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
}
Это, кажется, работает теперь.
Необходимо отредактировать файл Info.plist для добавления ключа UIInterfaceOrientation с соответствующим значением (UIInterfaceOrientationLandscapeRight или UIInterfaceOrientationLandscapeLeft).