powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Update Через вложенный Select
16 сообщений из 16, страница 1 из 1
Update Через вложенный Select
    #38370468
dogalevs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вСЕМ ПРИВЕТ!
Нужно обновить таблицу! Присвоить Номер, вытащенные из внутреннего селекта - алиас V
что-то не хватает, ругается на алиасы в последнем условии WHERE

update Table T set Nomer=(select V.Nomer from
(select A.IDt, B.Nomer from TableA A, TableB B
where A.ID=B.ID
AND B.Vid=123
and A.vid=266
and A.ID=2655046
AND Nomer is not null)V)
WHERE M.Analit=V.analit

что то не так ЕСТЬ МЫСЛИ?
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370476
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dogalevsчто то не так ЕСТЬ МЫСЛИ?
Во-первых, оформление.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
update Table T 
set Nomer = 
(
  select V.Nomer 
  from 
  (
    select A.IDt, B.Nomer 
    from TableA A, TableB B
    where A.ID=B.ID
    AND B.Vid=123
    and A.vid=266 
    and A.ID=2655046
    AND Nomer is not null
  ) V
)
WHERE M.Analit=V.analit



Во-вторых, что за алиас такой - М?
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370487
dogalevs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, пардон изменял, невнимательно, вот так:

update Table T
set Nomer =
(
select V.Nomer
from
(
select A.ID, B.Nomer
from TableA A, TableB B
where A.ID=B.ID
AND B.Vid=123
and A.vid=266
and A.ID=2655046
AND Nomer is not null
) V
)
WHERE T.Analit=V.analit
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370492
dogalevs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то не пойму. здесь нет возможности редактировать свои сообщения?

последнее условие

WHERE T.ID=V.ID
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370568
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, неужели тег кода найти намного сложнее, чем тег цвета?
dogalevsздесь нет возможности редактировать свои сообщения?Нет.
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370576
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь по существу. Причём по шагам.
Берём самый внутренний запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
select A.ID, B.Nomer 
from TableA A, TableB B
where A.ID=B.ID
AND B.Vid=123
and A.vid=266 
and A.ID=2655046
AND Nomer is not null


Вот скажи на милость, сколько записей отсекает последнее (Nomer is not null) условие? может ли Nomer быть null, если выполнены остальные 4 условия?
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370590
dogalevs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

это так сказать, на будущее)
потом не будет вот этого условия для конкретной записи and A.ID=2655046
чтоб апдейтнуть одну запись для проверки пытаюсь
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370596
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, ладно... давай нормально ставить задачу. В студию:
1) DDL используемых таблиц (create table);
2) Подробное вербальное описание того, что нужно сделать;
3) Демонстрация того, что надо сделать (минимальное наполнение - insert into, что должно получиться после апдейта и почему именно так).
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370601
dogalevs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть таблица, в нее добавлено новое поле НОМЕР!
это поле нужно заполнить!

Заполнить из уже существующей информации, вот оно:

select A.ID, B.Nomer
from TableA A, TableB B
where A.ID=B.ID
AND B.Vid=123
and A.vid=266
and A.ID=2655046
AND Nomer is not null

Таблица А это по идее та же таблица что и во внешнем селекте Table T

Вся загвоздка в том, чтобы условие внешние сработало(

WHERE T.ID=V.ID

ЧТОБ обновилась запись соответствующая
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370620
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда просто
Код: sql
1.
2.
3.
update table1, table2
set table1.field1=table2.field2
where table1.fieldX=table2.fieldY and ...

и никаких подзапросов
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370646
dogalevs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

попробуем. а почему в принципе ругается на алиасы понять не могу(
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370665
dogalevs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

почему-то ругается на запятую. после первой таблицы. делаю в SQL Menegment Studio
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370804
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dogalevsругается на запятую. после первой таблицы. делаю в SQL Menegment Studio
http://dev.mysql.com/doc/refman/5.5/en/update.html
Студии фтопку, только хардкор консоль...
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370824
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dogalevs, здесь по MySQL
для MS SQL - другой форум
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38370873
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так?
Код: sql
1.
2.
3.
4.
5.
6.
7.
update T set Nomer = B.Nomer
   -- select A.ID, B.Nomer
   from TableT T
   -- join TableA A on A.ID=T.ID and A.vid=266 -- какой-то cross join...
   join TableB B on B.ID=T.ID AND B.Vid=123 AND B.Nomer is not null
   where T.ID=2655046
      and exists(select 1 from TableA A where A.ID=T.ID and A.vid=266)
...
Рейтинг: 0 / 0
Update Через вложенный Select
    #38371405
dogalevs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cygapb-007,

вот респектище!!!
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Update Через вложенный Select
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]