|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
Здравствуйте, не могли бы вы помочь ? есть две таблицы Table_S и Table_I Тестовые данные для Table_S: ID_S S_NAME 1 name_1 2 name_2 3 name_3 4 name_4 5 name_5 Тестовые данные для Table_I: ID_I ID_S I_TEMP I_TIME 1 1 20,1 19.06.2018 10:26 2 2 20,2 19.06.2018 10:36 3 3 20,5 19.06.2018 10:46 4 4 21,5 19.06.2018 10:56 5 5 19,4 19.06.2018 11:06 6 1 20,8 19.06.2018 20:26 7 2 21,2 19.06.2018 20:36 8 3 19,5 19.06.2018 20:46 9 4 20,5 19.06.2018 20:56 10 5 19,9 19.06.2018 31:06 11 1 21,8 19.06.2018 30:26 12 2 20,8 19.06.2018 30:36 13 3 20,5 19.06.2018 30:46 14 4 21,3 19.06.2018 30:56 15 5 20,6 19.06.2018 31:06 Table_S связан с Table_I по полю ID_S Необходимо сделать выборку Table_I.ID_S, Table_I.I_TEMP, Table_S.S_NAME и максимальное время Table_I.I_TIME, т.е. должно получится что-то вроде такого 1 21,8 name_1 19.06.2018 30:26 2 20,8 name_2 19.06.2018 30:36 3 20,5 name_3 19.06.2018 30:46 4 21,3 name_4 19.06.2018 30:56 5 20,6 name_5 19.06.2018 31:06 Пробовал такой запрос делать, но он много id_s выводит SELECT itest.ID_S, itest.I_TEMP, scond.S_NAME, max(itest.I_TIME) from Table_S scond inner join Table_I itest on itest.id_s=scond.id_s group by 1,2,3 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 09:34 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
Serega325 Здравствуйте, не могли бы вы помочь ? есть две таблицы Table_S и Table_I Тестовые данные для Table_S: Код: plaintext 1. 2. 3. 4. 5. 6.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Необходимо сделать выборку Table_I.ID_S, Table_I.I_TEMP, Table_S.S_NAME и максимальное время Table_I.I_TIME, т.е. должно получится что-то вроде такого Код: plaintext 1. 2. 3. 4. 5.
Код: sql 1. 2. 3. 4.
Получил ровно то что написал в условии "Необходимо сделать выборку Table_I.ID_S, Table_I.I_TEMP, Table_S.S_NAME и максимальное время Table_I.I_TIME" то то что написано ниже (желаемое) Код: plaintext 1. 2. 3. 4. 5.
Ну и чтобы получилось желаемое надо по другому выбирать I_TEMP (максимальное, минимальное, первое попавшееся, .....) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 11:03 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
Serega325, версия ФБ неизвестна? Оконные функции не предлагать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 11:12 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
KreatorXXISerega325, версия ФБ неизвестна? Оконные функции не предлагать? Версия 2.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 15:31 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
Надо выводить I_TEMP с максимальным временем m7mSerega325 Здравствуйте, не могли бы вы помочь ? есть две таблицы Table_S и Table_I Тестовые данные для Table_S: Код: plaintext 1. 2. 3. 4. 5. 6.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Необходимо сделать выборку Table_I.ID_S, Table_I.I_TEMP, Table_S.S_NAME и максимальное время Table_I.I_TIME, т.е. должно получится что-то вроде такого Код: plaintext 1. 2. 3. 4. 5.
Код: sql 1. 2. 3. 4.
Получил ровно то что написал в условии "Необходимо сделать выборку Table_I.ID_S, Table_I.I_TEMP, Table_S.S_NAME и максимальное время Table_I.I_TIME" то то что написано ниже (желаемое) Код: plaintext 1. 2. 3. 4. 5.
Ну и чтобы получилось желаемое надо по другому выбирать I_TEMP (максимальное, минимальное, первое попавшееся, .....) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 15:32 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
KreatorXXISerega325, версия ФБ неизвестна? Оконные функции не предлагать? только select запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 15:33 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
Serega325, Посмотри вот здесь Выбор максимальных значений там должно быть то что тебе нужно, ну я так думаю ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 15:44 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
Serega325, что-то мне сдаётся, что приведённый Вами запрос правильный. Что не так в результате? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 16:21 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
KreatorXXISerega325, что-то мне сдаётся, что приведённый Вами запрос правильный. Что не так в результате? I_TEMP ему надо соответствующий максимальному I_TIME ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 16:58 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
m7m, понял, в первом посте таблица кривая до жути. Тогда вот так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Типа того. Надеюсь 2.5 возьмёт и я ошибок не допустил (проверить негде). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2019, 17:18 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
KreatorXXI, Даже любопытно, что будет быстрее, select from select или по старинке Код: plsql 1. 2. 3. 4. 5. 6.
Чота мне сдаётся что одна фигня должна быть. А ещё мне каатся что быстрее всего будет маааленькая селективная процедурка Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Хотя... Аллах его ведает какие там индексы налеплены. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 02:33 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка, select в where обычно неэффективен. Не претендую на истину. Пусть ТC попробует. Хранимка явно лучше, но в условии не было. Оптимизация - это второй шаг. Есть варианты. И хранимка, и execute block, и оконные функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 10:13 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
KreatorXXIСтарый плюшевый мишка, select в where обычно неэффективен. Не претендую на истину. Пусть ТC попробует. Хранимка явно лучше, но в условии не было. Оптимизация - это второй шаг. Есть варианты. И хранимка, и execute block, и оконные функции. От же ж... Я из последних сил пыжусь, поддерживаю имидж старого консервативного пердуна, бодающегося в смысле old is gold и всё чюдненько делается без нанотехнологий, а ты мне в харю селёдочной мордой форточками какими-то наотмашь... И в соседней теме про последний срез клиент того же хочет, и тоже сразу в форточку послали... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 21:42 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
К сожалению только select запрос, так задачу поставилиKreatorXXIСтарый плюшевый мишка, select в where обычно неэффективен. Не претендую на истину. Пусть ТC попробует. Хранимка явно лучше, но в условии не было. Оптимизация - это второй шаг. Есть варианты. И хранимка, и execute block, и оконные функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 14:14 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
Испытал этот запрос Вот что Ibexpert выдал: Plan PLAN (W INDEX (SENS_TCON)) PLAN JOIN (I NATURAL, S INDEX (PK_S_CONDITIONAL_SENSORS)) ------ Performance info ------ Prepare time = 31ms Execute time = 42s 422ms Avg fetch time = 1 767,58 ms Current memory = 18 185 432 Max memory = 18 248 280 Memory buffers = 2 048 Reads from disk to cache = 408 Writes from cache to disk = 0 Fetches from cache = 117 858 797 Старый плюшевый мишкаKreatorXXI, Даже любопытно, что будет быстрее, select from select или по старинке Код: plsql 1. 2. 3. 4. 5. 6.
Чота мне сдаётся что одна фигня должна быть. А ещё мне каатся что быстрее всего будет маааленькая селективная процедурка Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Хотя... Аллах его ведает какие там индексы налеплены. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 14:16 |
|
select запрос к двум таблицам
|
|||
---|---|---|---|
#18+
42с, но работаетСтарый плюшевый мишкаKreatorXXI, Даже любопытно, что будет быстрее, select from select или по старинке Код: plsql 1. 2. 3. 4. 5. 6.
Чота мне сдаётся что одна фигня должна быть. А ещё мне каатся что быстрее всего будет маааленькая селективная процедурка Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Хотя... Аллах его ведает какие там индексы налеплены. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 14:17 |
|
|
start [/forum/topic.php?fid=40&fpage=24&tid=1560739]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
4ms |
others: | 13ms |
total: | 189ms |
0 / 0 |