MySQL ссылочный результат из подзапроса - PullRequest
0 голосов
/ 13 марта 2010

Это то, что я делаю

update t1 set x=a,y=b where a and b are obtained from (select query here)
  1. Я знаю запрос на выбор
  2. Запрос на выборку возвращает несколько одинаковых результатов
  3. Когда я использую групповые или отдельные запросы, выполнение значительно замедляется
  4. a и b являются прямыми ссылками, поэтому mysql сообщает об ошибке
  5. Я хочу установить значение, равное значению, полученному в первой строке, и значение b, равное значению, полученному в первой строке для соответствующих столбцов, чтобы избежать группировки по. Я не знаю, как сослаться на первый результат запроса select.

Как мне достичь всего этого?

Ответы [ 2 ]

1 голос
/ 13 марта 2010

LIMIT указывает количество строк, возвращаемых из начала набора результатов:

SELECT * FROM t2 LIMIT 1; # Получить 1-й ряд

LIMIT в вашем случае применяется в подзапросе в вашем предложении from.

Эти linsk могут помочь вам с update, который использует подзапрос:

Обновление с помощью подзапроса

Подзапросы в MySQL, часть 1

0 голосов
/ 13 марта 2010

Возможно, вы ищете что-то вроде ...

update T1, (select Sub1.a, Sub1.b from YourSubQueryTable Sub1 where ... ) SubResult
  set T1.a = SubResult.a,
      T1.b = SubResult.b
  where
      Some T1.Criteria To be applied
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...