|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.02.2018, 20:50 | #1 |
Форумчанин
Регистрация: 26.02.2011
Сообщений: 301
|
Запрос 2 таблицы
Помогите составить запрос.
Вот есть две таблицы. В первой есть столбец со временем в utc формате, число вообщем, например 1380013740 Во второй таблице так же есть столбец со временем в utc формате и другие данные. Нужно вывести в качестве результата следующую информацию: Берется время из таблицы 1. Например это 1380013740. Далее в таблице 2 ищутся все записи попавшие в интервал от 1380013740 - 60 до 1380013740 Итак надо по каждому времени из таблицы 1 составить выборку строк из таблицы 2 , попавшую в интервал данный. То есть на выходе хочу получить такую выборку: время - данные(строчки попавшие в интервал из таблицы 2) Как такое сделать? Что то типа такого, но это не то Код:
Последний раз редактировалось a.n.o.n.i.m; 10.02.2018 в 20:55. |
10.02.2018, 21:13 | #2 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
11.02.2018, 09:53 | #3 |
Форумчанин
Регистрация: 26.02.2011
Сообщений: 301
|
Да таблицы не связаны по индексу. Запрос не известно сколько работает данный. Я не смог дождаться. Записей то всего по 25к в каждой таблице всего. Как можно выйти в из данной ситуации и получить все таки выборку?
|
11.02.2018, 10:48 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
По индексу таблицы и не связываются. А вот индексы в таблицах создать то можно, по log_time например. Не факт, что поможет из-за выражения во where. И вообще-то не зная структуры таблиц и логику информации в них трудно что-то рекомендовать. В условии твоем возможно еще должно что-то быть
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
11.02.2018, 11:35 | #5 |
Форумчанин
Регистрация: 26.02.2011
Сообщений: 301
|
Да там просто 2 никак не связанные таблицы, по log_time я не могу связать так как это разные времена.
Сделал так, в 1 таблице ограничил максимально выборку, получилось с 25000 строк всего где то 100 Причем этот запрос вообще моментально выполняется. Код:
Но если я сделаю так Код:
Последний раз редактировалось a.n.o.n.i.m; 11.02.2018 в 11:40. |
11.02.2018, 12:32 | #6 |
Форумчанин
Регистрация: 26.02.2011
Сообщений: 301
|
Такс, такой эксперимент ускорил это дело, с LEFT JOIN
Код:
Последний раз редактировалось a.n.o.n.i.m; 11.02.2018 в 13:24. |
11.02.2018, 12:53 | #7 |
Форумчанин
Регистрация: 26.02.2011
Сообщений: 301
|
Можете подсказать как избежать дублирование записей?
|
11.02.2018, 13:52 | #8 |
Форумчанин
Регистрация: 26.02.2011
Сообщений: 301
|
Если я его чуть меняю на left join работает практически моментально, но каждую запись выводит по два раза
Код:
Последний раз редактировалось a.n.o.n.i.m; 11.02.2018 в 13:56. |
11.02.2018, 14:54 | #9 |
Форумчанин
Регистрация: 26.02.2011
Сообщений: 301
|
Все, решил
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос таблицы | Марат05 | C++ Builder | 7 | 11.02.2013 18:06 |
1 запрос 2 таблицы | Abuhamed | PHP | 8 | 04.10.2012 12:52 |
Mysql запрос на 2 таблицы | Abuhamed | PHP | 1 | 21.08.2012 08:52 |
Запрос на обновление таблицы | IgoreKMaN | БД в Delphi | 12 | 27.04.2012 00:05 |
Многократное включение таблицы в запрос | Kofer | SQL, базы данных | 0 | 14.08.2008 22:59 |