вы можете использовать внутреннее соединение
select
t1.Code1,
(t1.month1 * 1.0) / t2.month1 as month1,
(t1.month2 * 1.0) / t2.month2 as month2,
(t1.month3 * 1.0) / t2.month3 as month3
from t1
inner join t2 on t1.code1 = t2.code1
Обратите внимание, что:
Из предоставленных образцов данных, кажется, что нет необходимости в полном внешнем соединении , Если данные от 1 до 1, лучше использовать внутреннее соединение для оценки производительности
Я думаю, что эквивалент DirectInput является менеджером по HID. HID обозначает "устройство интерфейса пользователя", и менеджером по HID (иногда названный HIDLib) является API низкого уровня к HIDs: клавиатуры, мыши и джойстики.
Leopard имеет нового менеджера по HID API, зарегистрированный в Техническое примечание TN2187. Предварительный Leopard API документируется в Руководство Интерфейса Устройства Класса HID. Я записал обертку Objecive-C вокруг более старых API, DDHidLib, который можно найти полезным. Leopard API намного более хорош. Я использовал бы это непосредственно, если Вы можете.
Базовая Графическая платформа также имеет некоторую полезную функциональность, проложенную под землей в ней как часть удаленной операционной системы. Ищите CGRemoteOperation.h и проверьте Кварцевую ссылку Событий.
Можно использовать Кварцевую систему Событий для установки специализированных или "касаний события в масштабе всей системы", которые позволяют Вам контролировать и ввести события клавиатуры и события от нажатия мыши на довольно низком уровне. Несколько лет назад были некоторые ошибки со специализированными касаниями события, но они были, надо надеяться, разработаны к настоящему времени.
Я думаю, что материал HID главным образом для разработки драйвера, поэтому если Вы просто ищете инструмент для своего приложения, HID является, вероятно, излишеством.
Можно использовать Углеродную функцию RegisterHotKeyEvent, я не уверен, можно ли зарегистрироваться для какой-либо из метаклавиш явно все же.
Глобальные Горячие клавиши Программы сообщения в блоге в Какао Легко объясняют, как сделать это.
NSResponder
производные классы имеют метод -(void)flagsChanged
: который вызывается при удержании мета-ключей.