1 (edited by pt.82 2016-10-18 04:35:17)

Topic: формирование временной таблицы

Люди добрые, помогите!
Есть временная таблица, заполняется из таблицы OSN полями  id, id_sex, id_mkb1, id_mkb2, id_mkb3, data_diag 1, data_diag2, data_diag3 заполняю ее так

SQLExecute('insert into temp (id_osn, id_sex, id_mkb1, osn.data_diag1 ) SELECT osn.id, osn.id_sex, osn.id_mkb1, osn.data_diag1  FROM osn where ((data_diag1>='''+FormatDateTime('yyyy-MM-dd 00:00:00.000', form1.DateTimePicker1.DateTime)+''')and(data_diag1<='''+FormatDateTime('yyyy-MM-dd 00:00:00.000', Form1.DateTimePicker2.DateTime)+'''))');

SQLExecute('insert into temp (id_osn, id_sex, id_mkb2, data_diag2) SELECT osn.id, osn.id_sex, osn.id_mkb2, osn.data_diag2  from osn where ((data_diag2>='''+FormatDateTime('yyyy-MM-dd 00:00:00.000', form1.DateTimePicker1.DateTime)+''')and(data_diag2<='''+FormatDateTime('yyyy-MM-dd 00:00:00.000', Form1.DateTimePicker2.DateTime)+'''))');

SQLExecute('insert into temp (id_osn, id_sex, id_mkb3, data_diag3) select osn.id, osn.id_sex, osn.id_mkb3, osn.data_diag3  from osn where ((data_diag3>='''+FormatDateTime('yyyy-MM-dd 00:00:00.000', form1.DateTimePicker1.DateTime)+''')and(data_diag3<='''+FormatDateTime('yyyy-MM-dd 00:00:00.000', Form1.DateTimePicker2.DateTime)+'''))');

Хотелось чтобы таблица наполнилась так, если у пациента все три data_diag заполнении, то таких записей должно в temp 3 получится, если два data_diag, то 2 записи, так вот при таком скрипте, формируется 1 запись, в которой если три data_diag заполнены, то все поля заполнены, если две data_diag то 2 поля заполнены, как быть подскажите.
Для чего надо: хотел count подсчитать
Если у пациентов к примеру у трех заполненно 2 диагноза, а у одного 3 диагноза, то в отчете должна подсчитаться цифра 9 т. е. 3 пациента *2 + 1 пациент *3 = 9

Re: формирование временной таблицы

вопрос снят, разобрался