|
|
|
Обновление таблицы запросом максимальных значений из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Существует таблица-донор table1 со столбцами id,Registr, sector, time. Существует таблица-реципиент table2 со столбцами id,Registr,sector,maxTime В таблице 2 нужно обновить значение maxTime присвоить ему максимальное значение time из запроса к таблице 1, где значения register и sector у обеих таблиц совпадают одновременно. Особенности: все time в первой таблице расположены по возрастанию. Моя корявая попытка занимает 2 минуты на обновление одной строки : Код: sql 1. 2. 3. Пожалуйста направьте меня в нужное русло. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 01:34:30 |
|
||
|
Обновление таблицы запросом максимальных значений из другой таблицы
|
|||
|---|---|---|---|
|
#18+
PeterR, 1. прочитайте что такое EXPLAIN.просто постав'те это слово перед вашим зпросом и выдайте сюда резул'тат. 2. в обязател'ном порядке сдеалйте ИНДЕХ на Табле1(Регистр, Сектор, Тиме) 3. Ваш запрос не верный ибо надо определит' МАХ(тиме)а не просто Тиме. 4. порпобыйте по простому: update table2 T2 set T2.maxTime = (select max(t1.time) from table1 T1 where t1.Register = t2.registr and t1.sector = t2.sector) 5. я подзабыл ситаксис, вот так получится иили нет? UPDATE table2, table1 SET table2.maxTime = max(table1.time) WHERE table2.Registr = table1.Registr AND table2.sector = table1.sector group by table1.registr, table1.sector -- table2.registr, table2, sector -- илии так быстрее ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 05:27:27 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=139&tid=1833289]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 320ms |

| 0 / 0 |
