where T1.sess_id = (Select MAX( TmaxSess_id.sess_id ) from table1 as TmaxSess_id )
скорее ORDER BY и LIMIT..чтобы не было вложенных запросов
сначала JOIN, то есть таблицы объединили (соотнесли строки со строками, породили новый набор), далее отсортировали по новому полю и взяли N первых (одну?) записей
а вот данными ее наполнять по какому то событию - верно
Спасибо большое, все почти получилось, но значения почему-то не подставились
А сам запрос такой
create table if not exists futures asselect
T2.sess_id,
T2.isin_id,
T2.short_isin,
T2.isin,
T2.name
From FORTS_REFDATA_REPLsession as T1
Left join FORTS_REFDATA_REPLfut_sess_contents as T2
On T1.sess_id = T2.sess_id
where T1.sess_id = (Select MAX( TmaxSess_id.sess_id ) from FORTS_REFDATA_REPLsession as TmaxSess_id )
И как сказать, что isin_id это будет primary key?
Так
create table if not exists futures asselect
T2.sess_id,
T2.isin_id primary key,
T2.short_isin,
T2.isin,
T2.name
From FORTS_REFDATA_REPLsession as T1
Left join FORTS_REFDATA_REPLfut_sess_contents as T2
On T1.sess_id = T2.sess_id
where T1.sess_id = (Select MAX( TmaxSess_id.sess_id ) from FORTS_REFDATA_REPLsession as TmaxSess_id )
Спасибо большое, все почти получилось, но значения почему-то не подставились
А сам запрос такой
И как сказать, что isin_id это primary key?
Есть возможность не создавать таблицу futures ? по идее у вас есть две таблицы ,
FORTS_REFDATA_REPLsession
FORTS_REFDATA_REPLfut_sess_contents
которые судя по всему заполняются видимо из QUIK такой запрос дает нужны результат ? все поля видны ?
select
T2.sess_id,
T2.isin_id,
T2.short_isin,
T2.isin,
T2.name
From FORTS_REFDATA_REPLsession as T1
Left join FORTS_REFDATA_REPLfut_sess_contents as T2
On T1.sess_id = T2.sess_id
where T1.sess_id = (Select MAX( TmaxSess_id.sess_id ) from FORTS_REFDATA_REPLsession as TmaxSess_id )
т е можно просто зачитать данные полученые из запроса - промежуточная таблица futures по идее не нужна.
если же таблица futures ( будет нести историческое значение, а не каждый день в каждую сессию затираться и вновь создаваться)
то ее лучше создать один раз - с полями такими же как в порождающих таблицах
но опять же - она не нужна так как данные всегда можно получить из двух таблиц.
тогда можно сделать так , и все взлетит.
where T1.sess_id = (Select MAX( TmaxSess_id.sess_id ) from table1 as TmaxSess_id )
Спасибо
У меня, пока, получается так
Осталось составить условия (conditions)
Спасибо
У меня, пока, получается так
Осталось составить условиz (conditions)
тут вопрос
выборку нужно регулярно делать ?
один раз в день ?
таблицу по идее можно создать один раз futuresа вот данными ее наполнять по какому то событию - верно ?
тут вопрос
выборку нужно регулярно делать ?
один раз в день ?
а вот данными ее наполнять по какому то событию - верно ?
Верно, но при загрузке программы обязательно делается 1 раз, чтобы составить списки инструментов,
торгуемых в текущую сессию
После клиртнга, нужно вновь обновить таблицу, потому что изменится sess_id
тогда можно сделать так , и все взлетит.
where T1.sess_id = (Select MAX( TmaxSess_id.sess_id ) from table1 as TmaxSess_id )
скорее ORDER BY и LIMIT..чтобы не было вложенных запросов
сначала JOIN, то есть таблицы объединили (соотнесли строки со строками, породили новый набор), далее отсортировали по новому полю и взяли N первых (одну?) записей
тут вопрос
выборку нужно регулярно делать ?
один раз в день ?
а вот данными ее наполнять по какому то событию - верно
Спасибо большое, все почти получилось, но значения почему-то не подставились
А сам запрос такой
И как сказать, что isin_id это будет primary key?
Так
А сам запрос такой
в схеме, по хорошему это view (представление), а не таблица данных.
или вообще просто прикладной select
Спасибо большое, все почти получилось, но значения почему-то не подставились
А сам запрос такой
И как сказать, что isin_id это primary key?Есть возможность не создавать таблицу futures ? по идее у вас есть две таблицы ,
которые судя по всему заполняются видимо из QUIK такой запрос дает нужны результат ? все поля видны ?
т е можно просто зачитать данные полученые из запроса - промежуточная таблица futures по идее не нужна.
если же таблица futures ( будет нести историческое значение, а не каждый день в каждую сессию затираться и вновь создаваться)
то ее лучше создать один раз - с полями такими же как в порождающих таблицах
но опять же - она не нужна так как данные всегда можно получить из двух таблиц.
в схеме, по хорошему это view (представление), а не таблица данных.
или вообще просто прикладной select
вот вот - я об этом же
Есть возможность не создавать таблицу futures ? по идее у вас есть две таблицы ,
которые судя по всему заполняются видимо из QUIK такой запрос дает нужны результат ? все поля видны ?
т е можно просто зачитать данные полученые из запроса - промежуточная таблица futures по идее не нужна.
если же таблица futures ( будет нести историческое значение, а не каждый день в каждую сессию затираться и вновь создаваться)
то ее лучше создать один раз - с полями такими же как в порождающих таблицах
но опять же - она не нужна так как данные всегда можно получить из двух таблиц.
Вы, скорее всего, правы, но
мне постоянно нужен актуальный список торгуемых инструментов, который может обновляться.
Думается, что нужно создать структуру, которая будет храниться отдельно от Базы, и которая (структура)
будет обновляться, при необходимости.
Но в любом случае, данные должны браться из 2-х таблиц
Вы, скорее всего, правы, но
мне постоянно нужен актуальный список торгуемых инструментов, который может обновляться.
Думается, что нужно создать структуру, которая будет храниться отдельно от Базы, и которая (структура)
будет обновляться, при необходимости.
Но в любом случае, данные должны браться из 2-х таблиц
Если так то лучше получать из запроса - особо акткутально если иструменты могут обновится.
особой разницы не будет - просто в п.2 возникнет промежуточная операция
с учетом что в первичных таблицах данные могут обновится
п.1 получить данные из запроса и обработать их
п.2 получить данные из запроса , уложить их в промежуточныую таблицу futures , далее получить данные из таблицы futures и обработать их