в запросе на выборку как обратиться к идентификатору оператора выбора верхнего уровня? - PullRequest
0 голосов
/ 11 августа 2009

Я хотел автоматизировать заполнение таблицы для тестирования.

Мне нужно было отредактировать некоторые столбцы из определенной таблицы, но я должен убедиться, что значения, которые я поместил в этот определенный столбец, не просто происходят случайно.

Таким образом, значения на самом деле приходят из другой таблицы при определенном условии.

Как я могу это сделать? Так же, как этот код:

update table_one set `some_id`=(select some_id from another_table where another_table.primary_id=table_one.primary_id order by rand() limit 1)

Это что-то вроде моего условия для запроса на выборку. Он должен соответствовать id текущей строки, которую я обновляю. Я действительно забыл свой SQL сейчас. Спасибо за ответы, хотя.

1 Ответ

0 голосов
/ 11 августа 2009

Вы почти на месте - все, что вам нужно сделать, это указать столбец, который вы выбираете в подзапросе, чтобы вы знали, что он взят из правильной таблицы:

update table_one
set some_id=(
    select another_table.some_id
    from another_table
    where another_table.primary_id=table_one.primary_id
    order by rand()
    limit 1
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...