Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, подскажите, как одним запросом выполнить условия ниже? Условие: 1) Найти последнюю строку в табл_1, где home = '123'. И добавить в конец табл_1. 2) ... но заменить time1 на значение time2 из табл_2, где home = '123'. Есть таблица_1 со столбцами: id , name , home , link , time1 . Есть таблица_2 со столбцами: other_id , home , time2 . Код: sql 1. Подскажите, как правильно это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2016, 09:14 |
|
||
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Сперва просто напишите SELECT на получение нужной записи из t1, но со значением из t2. Но БЕЗ подзапросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2016, 11:36 |
|
||
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. Похоже на этот запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2016, 16:39 |
|
||
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Да. Только при условии, что поле home и в той, и в другой таблице уникальны. Если это верно - просто добавьте теперь секцию INSERT. Она у Вас нормальная. Возможная трабла - отказ сервера вставлять записи в таблицу, из которой делается выборка. Тогда конвертируйте свой запрос на выборку в представление, и вставляйте из него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2016, 20:04 |
|
||
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Akina, Нет, home не уникально. Что в одной, что в другой таблице строки периодически повторяются. Но в t2 изменяется время, собственно поэтому мне нужно внести в t1 подобную строку из t1, но с актуальным временем из t2. Можно же просто взять последние похожие значения полей из обеих таблиц (LIMIT)? Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2016, 04:42 |
|
||
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Вот этот запрос работает хорошо: Код: plsql 1. 2. 3. 4. 5. 6. Правда я не совсем понимаю почему сортируются обе таблица в обратном порядке, хотя я задаю DESC только для t1. Но главное, что мне так и нужно, и следовательно все отлично работает. Спасибо, Akina) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2016, 05:39 |
|
||
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
ArbusНет, home не уникально. Ну хотя бы во второй таблице - уникально? потому как если нет - то запрос-то получится недетерминированный... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2016, 07:46 |
|
||
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
t1: ----+---------+---------+-------+---------+ id | name | home | link | time1 | ----+---------+---------+-------+---------+ 1 | vasa | 10 | zzzz | 12:10 | ----+---------+---------+-------+---------+ 2 | kola | 14 | xxxx | 15:23 | ----+---------+---------+-------+---------+ 3 | mark | 53 | ttrre | 22:50 | ----+---------+---------+-------+---------+ 4 | vasa | 10 | zzzz | 23:28 | ----+---------+---------+-------+---------+ 5 | lisa | 2 | bbbb | 23:33 | ----+---------+---------+-------+---------+ t2: ------------+---------+---------+ other_id | home | time2 | ------------+---------+---------+ 1 | 12 | 03:11 | ------------+---------+---------+ 2 | 10 | 04:52 | ------------+---------+---------+ 3 | 16 | 05:01 | ------------+---------+---------+ 4 | 21 | 05:03 | ------------+---------+---------+ 5 | 10 | 05:17 | ------------+---------+---------+ 6 | 12 | 08:40 | ------------+---------+---------+ Мне известно home = 10 Должно получиться: t1: ----+---------+---------+-------+---------+ 6 | vasa | 10 | zzzz | 05:17 | ----+---------+---------+-------+---------+ Вроде бы мое решение подходит полностью для этой задачи. Или что-то может пойти не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2016, 15:33 |
|
||
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
ArbusИли что-то может пойти не так? Не просто может, а пойдёт. Во второй таблице 2 записи с home = 10. Вот с чего бы при обновлении было взято именно 05:17? чем хуже 04:52? Если же надо определённое, то надо безальтернативно получить именно его. Например для максимального - добавить группировку по полям первой таблицы и MAX() по полю второй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2016, 17:27 |
|
||
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
AkinaНапример для максимального - добавить группировку по полям первой таблицы и MAX() по полю второй. Не понял как, что и зачем группировать. Но вот так мне кажется надежней выглядит: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 10:49 |
|
||
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
А зачем такие навороты? когда можно просто Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2016, 19:42 |
|
||
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Akina, честно говоря не совсем понял про t3. Ну и проблему не могу решить в связи с этим моим непониманием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2016, 04:03 |
|
||
|
Вставить в таблицу значения из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Akina, разобрался в проблеме. Но код выводит все похожие home, поэтому все равно LIMIT 1, ORDER BY id DESC. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2016, 04:42 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=84&tid=1831105]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
20ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 256ms |
| total: | 362ms |

| 0 / 0 |
